A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】MongoDB-python的API手记

-------------------python调用MongoDB-------------------
1、官方文档:http://api.mongodb.org/python/current/tutorial.html

2、linux下安装指令:sudo pip install pymongo

3、测试python驱动:
[AppleScript] 纯文本查看 复制代码
1 #coding=utf-8
 2 
 3 '''
 4 测试python驱动
 5 '''
 6 
 7 #引用对应的包
 8 import pymongo
 9 
10 #创建一个mongo客户端对象
11 client = pymongo.MongoClient("127.0.0.1",27017)
12 #获得mongoDB中的数据库对象
13 db = client.test_database
14 #在数据库中创建一个集合
15 collection = db.test_collectionTwo
16 
17 #创建一条要加入数据库中的数据信息,json格式
18 post_data = {"username":"xiaohao","pwd":"123456",}
19 
20 #进行数据的添加操作,inserted_id返回添加后的id编号信息
21 post_data_id = collection.insert_one(post_data).inserted_id
22 
23 #展示一下插入的数据信息
24 print collection.find_one()
25 
26 #打印当前数据库中所有集合的民称
27 print db.collection_names()
28 
29 #打印当前集合中数据的信息
30 for item in collection.find():
31     print item
32 
33 #打印当前集合中数据的个数
34 print collection.count()
35 
36 #进行find查询,并打印查询到的数据的条数
37 print collection.find({"username":"xiaohao"}).count()
4、Aggregation Examples:mongoDB聚合练习
[AppleScript] 纯文本查看 复制代码
1 #coding=utf-8
 2 
 3 '''
 4 进行聚合aggregation 练习
 5 '''
 6 
 7 #引包
 8 import pymongo
 9 
10 client = pymongo.MongoClient("127.0.0.1",27017)
11 
12 db = client.aggregation_database
13 
14 collection = db.aggregation_collection
15 
16 collection.insert_many([
17     {"username":"xiaohao01","pwd":"111"},
18     {"username":"xiaohao02","pwd":"222"},
19     {"username":"xiaohao03","pwd":"333"}
20 ])
21 
22 
23 # for item in collection.find():
24 #     print item
25 
26 #python中不含有son语法,需要使用son
27 
28 from bson.son import SON
29 
30 pipeline = [
31     {"$unwind":"$pwd"},
32     {"$group":{"_id":"pwd","count":{"$sum":1}}},
33     {"$sort":SON([("count",-1),("_id",-1)])}
34 ]
35 
36 result = list(collection.aggregate(pipeline))
37 
38 print result


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马