【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
● 前言
● MongoDB GUI 工具
● PyMongo(同步)
● Motor(异步)
● 后记
前言
最近这几天准备介绍一下 Python 与三大数据库的使用,这是第一篇,首先来介绍 MongoDB 吧,这里介绍 MongoDB 的两款操作库,走起!!
MongoDB GUI 工具
首先介绍一款 MongoDB 的 GUI 工具 Robo 3T,初学 MongoDB 用这个来查看数据真的很爽。可以即时看到数据的增删改查,不用操作命令行来查看。
操作界面图
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_id
print(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","field4":"$field4"},"count": {"$sum": 1}}},# 聚合操作
]
result = test.aggregate(pipeline=aggs)
例子:以分组的方式统计 sex 这个关键词出现的次数,说白了就是统计有多少个男性,多少个女性。
test.aggregate([{'$group': {'_id': '$sex', 'weight': {'$sum': 1}}}])
聚合效果图:(秋招季,用Python分析深圳程序员工资有多高?
)文章配图)
● Motor(异步)
● 后记
阅读原文看更多内容:https://developer.aliyun.com/article/668009?utm_content=g_1000098497
来源:oschina
链接:https://my.oschina.net/u/4270418/blog/3154387