18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 行业动态 > Python爬虫分享:数据库中的骚操作MongoDB

Python爬虫分享:数据库中的骚操作MongoDB

时间:2022-05-06 12:33:01 | 来源:行业动态

时间:2022-05-06 12:33:01 来源:行业动态

MongoDB是一个非常强大的数据库,我们常常在度娘搜索一些关键词或者提问题,都是由一个非常大数据库,才能让你们这么折腾。

什么是数据库,应该是用来存储数据的,而MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能。

这篇文章,就会详细讲解MongoDB,快拿上你的小本本记下来哦~



连接MongoDB from pymongo import MongoClient

client = MongoClient('localhost',27017)

另一种方法是直接传递MongoDB的连接字符串,以 mongodb 开头。

client = pymongo.MongoClient('mongodb://127.0.0.1:27017/')

前面有说过MongoDB是非常大的数据库,其中每个数据库又包含许多集合,选择数据库有两种方法,这两种方法作用相同。

db = client.test # test数据库

db = client['test']

添加数据 单条:

# 插入一条数据,并获取返回结果

res = student.insert_one({"name":"老王"})

# 获取插入之后该条数据的id

object_id = res.inserted_id

print(object_id)

多条:

# 插入9条数据

res = student.insert_many([{"name":"name%d"%index} for index in range(1,10)])

# 获取插入之后该9条数据的ids,object_ids为一个list

object_ids = res.inserted_ids

print(object_ids)

提供两种插入数据方法,最终还是要结合程序本身而来。



查询数据 既然知道怎么添加数据,下面来聊一聊怎么去查询呢?

我们可以使用 find_one() 或 find() 方法,注意其中 find_one() 得到的是单个数据结果,find() 返回的是一个生成器对象,请看下面:

result = collection.find_one({'name': 'Mike'})

print(type(result))

print(result)

这里我们查询name为Mike的数据,它的返回结果是字典类型,运行结果如下:

class 'dict'

{'_id': ObjectId('5932a80115c2606a59e8a049'), 'id': '20170202', 'name': 'Mike', 'age': 21, 'gender': 'male'}

对于多条数据的查询,我们可以使用find()方法。例如,这里查找年龄为30的数据,示例如下:

results = collection.find({'age': 30})

print(results)

for result in results:

print(result)

如果要查询年龄大于30的数据,则写法如下:

results = collection.find({'age': {'$gt': 320}})

更新数据:

更新数据我们使用 update() 方法实现,并指定更新的条件和需要更新的数据即可。

where = {'name':'Abc'}

res = p.find_one(where)

res['age'] = 25

result = p.update(where, res) # 推荐使用 update_one() 或 update_many()print(result)

删除数据 删除操作比较简单,直接调用remove()方法指定删除的条件即可,此时符合条件的所有数据均会被删除。示例如下:

result = collection.remove({'name': 'Kevin'})

print(result)



符号认识 在MongoDB还有一些特定符号需要记住,以下小编已经整理出来了,请看:

比较符号:

$lt

$gt

$lte =

$gte =

$eq =

$ne !=

逻辑符号:

$and 逻辑与 a == True and b == True

$or 逻辑或 a == True or b == True

$not 逻辑非 a != True

$nor 逻辑非或 a != True or b != True

关于MongoDB的分享就到这里了,想了解更多关于python知识的童鞋,欢迎来私信小编,加入我们python大家庭,还有老师教知识、解答难题哦~

关键词:操作,数据,爬虫

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭