爬虫学习笔记5——mongoDB的简单使用
程序员文章站
2022-05-02 20:42:30
...
1.导入pymongo
import pymongo
2.连接数据库
连接数据库,两种方式,生成两个连接数据库对象:
#1.连接数据库,两种方式,生成两个连接数据库对象
client_1 = pymongo.MongoClient('mongodb://localhost:27017/')
client_2 = pymongo.MongoClient(host='localhost',port=27017)
3.连接具体的某个数据库:
#2.指定具体的数据库,两种方式,生成两个数据库对象
db_1 = client_1.test
db_2 = client_2['test']
4.指定集合,类似于关系型数据中的表
#3.指定集合,类似于关系型数据中的表
collection_1 = db_1.students
collection_2 = db_2['students']#这样,便生成了一个Cllection对象
5.插入数据
#在MongoDB中,每条数据其实都有一个_id属性来唯一标识,如果没有显式指定该属性
#MongoDB会自动产生一个ObjectID类型的_id属性,insert()方法会在执行后返回_id值
#字典形式
student1 = {
'id':'20170101',
'name':'Lip',
'age':20,
'gender':'male'
}
student2 = {
'id':'20170102',
'name':'Frank',
'age':21,
'gender':'male'
}
student3 = {
'id':'20170103',
'name':'Fiona',
'age':23,
'gender':'female'
}
result = collection_1.insert_many([student1,student2,student3])
6.查询数据
#查询
search_result = collection_1.find_one({'name':'Frank'})
#查询年龄大于20的
search_result2 = collection_1.find({'age':{'$gt':20}})
for item in search_result2:
print(item)
print(type(search_result2))
7.统计查询结果的数量
调用count()方法
#查询结果的总数
count = collection.find().count
#符合某个条件的条数
count = collection.find({'age':20}).count()
8.排序
调用sort()方法,并在其中传入排序的字段,以及升降序标志
sort_results = collection.find().sort('name',pymongo.ASCENDING)
print([sort_result['name'] for sort_result in sort_results])
9.更新
指定更新的条件,和更新后的数据
condition = {'name':'Frank'}
student = collection.find_one(condition)
student['age'] = 45
result = collection.update(condition,student)
print(result)
10.删除
remove()方法或delete_one()/delete_many()方法
#删除一条数据
result = collection.remove({'name':'Lip'})
result2 = collection.delete_one({'name':'Kevin'})
#删除所有符合条件的数据
result3 = collevtion.delete_many({'age':{'$lt':30}})