作者 | zone7责编 | 郭 芮
本文来介绍一下 Python 与 MongoDB 数据库的使用,走起!
MongoDB GUI 工具
首先介绍一款 MongoDB 的 GUI 工具 Robo 3T,初学 MongoDB 用这个来查看数据真的很爽。可以即时看到数据的增删改查,不用操作命令行来查看。
![05d01117cb4802e4df6ef4d06bf13247.png](https://i-blog.csdnimg.cn/blog_migrate/c578a494b307b69ad6f5f99861184065.jpeg)
![a0d72ab5aa438598f51a30108737b196.png](https://i-blog.csdnimg.cn/blog_migrate/36144c03c014c6f5848fcf99d0b488ed.jpeg)
操作界面图
PyMongo(同步)
PyMongo 是一个同步操作的数据存储库。可能大家都对 PyMongo 比较熟悉了,这里就简单介绍它的增删改查等操作。
连接
# 普通连接client = MongoClient('localhost', 27017)client = MongoClient('mongodb://localhost:27017/')## 密码连接client = MongoClient('mongodb://username:password@localhost:27017/dbname')db = client.zfdb# db = client['zfdb']test = db.test
增
# 增加一条记录person = {'name': 'zone','sex':'boy'}person_id = test.insert_one(person).inserted_idprint(person_id)# 批量插入persons = [{'name': 'zone', 'sex': 'boy'}, {'name': 'zone1', 'sex': 'boy1'}]result = test.insert_many(persons)print(result.inserted_ids)
删
# 删除单条记录result1 = test.delete_one({'name': 'zone'})pprint.pprint(result1)# 批量删除result1 = test.delete_many({'name': 'zone'})pprint.pprint(result1)
改
# 更新单条记录res = test.update_one({'name': 'zone'}, {'$set': {'sex': 'girl girl'}})print(res.matched_count)# 更新多条记录test.update_many({'name': 'zone'}, {'$set': {'sex': 'girl girl'}})
查
# 查找多条记录pprint.pprint(test.find())# 添加查找条件pprint.pprint(test.find({"sex": "boy"}).sort("name"))
聚合
如果你是我的老读者,那么你肯定知道我之前的骚操作,就是用爬虫爬取数据之后,用聚合统计结合可视化图表进行数据展示。
aggs = [ {"$match": {"$or" : [{"field1": {"$regex": "regex_str"}}, {"field2": {"$regex": "regex_str"}}]}}, # 正则匹配字段 {"$project": {"field3":1, "field4":1}},# 筛选字段 {"$group": {"_id": {"field3": "$field3