欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

爬虫学习笔记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}})
相关标签: 爬虫学习笔记