爬虫学习笔记5——mongoDB的简单使用

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}})

你可能感兴趣的:(爬虫学习笔记)