先安装pymongo
from pymongo import MongoClient
1
| from pymongo import MongoClient
|
创建链接
1
| client = MongoClient("mongodb://mongodb0.example.net:27017")
|
连接到指定的database和collection
1 2
| db = client.test_db collection = db.test_collection
|
也可以像这样
1 2
| db = client["test_db"] collection = db["test_collection"]
|
两种代码是等价的
其中collection
相当于关系型数据库的表。
增删查改操作
插入
1 2 3 4 5 6 7 8 9
| data = {"name":"John","age":23,"sex":"male"} collection.insert(data) collection.insert_one(data)
dataList = [] dataList.append(data) collection.insert_many(dataList)
|
删除
1 2 3
| collection.remove(temp) collection.delete_one(temp) collection.delete_many(temp)
|
查询
空查询:
find_one()**显示满足条件的第一个collection,而find()**这是所有满足查询条件的一个数组。
1 2 3
| for data in collection.find({"name":"Lucy"}) print data
|
查询指定条件的collection,可以指定一个活多个条件:
1 2
| collection.find_one({“name”:”Lucy”}) collection.find_one({“name”:”Lucy”, “sex”:”female”})
|
.count()
统计结果总条数:
1
| collection.find({“name”:”Lucy”}).count()
|
指定大于小于等于条件查询:
1 2
| collection.find({“age”: {“$lt”: 30}})
|
这样的查询符号有 $lt(小于)
, $gt(大于)
, $lte(小于等于)
, $gte(大于等于)
, $ne(不等于),这与原生 MongoDB 中相同。
将查询结果按条件排序:
1 2 3
| collection.find().sort("age") collection.find().sort("age", pymongo.ASCENDING) collection.find().sort("age", pymongo.DESCENDING)
|
更新
1 2 3 4 5
| temp = collection.find_one({"name":"Lucy"}) temp2 = temp.copy() temp["name"] = "Jordan" collection.save(temp) collection.update(temp, temp2)
|
如果直接输出查询结果,会发现输出的是一“团”连续的,没有锁进的JSON数据,完全没有办法看,这时可以通过下面这行代码来输出格式化的JSON数据:
1 2 3
| import json
print json.dumps(item, indent=4, sort_keys=True)
|
http://xitongjiagoushi.blog.51cto.com/9975742/1657096
http://api.mongodb.org/python/current/tutorial.html