目录
1. 插入文档
# -*- coding: UTF-8 -*- import datetime from pymongo import MongoClient client = MongoClient() db = client.book user = {"name": "daming12", "pwd": "asdf33", "tags": ["mongodb11", "python11", "pymongo11"], "date": datetime.datetime.utcnow()} users = db.user user_id = users.insert_one(user).inserted_id print ("user id is ", user_id)
打开MongoBooster查看book数据库中user集合中所有文档信息:
执行插入操作后,控制台输出信息:
2. 查询文档
查询出当前数据库中所包含的所有集合:
# -*- coding: UTF-8 -*- import datetime from pymongo import MongoClient client = MongoClient() db = client.book cur_collection = db.collection_names(include_system_collections=False) print("cur_collection is :", cur_collection)
控制台输出信息:
查询数据库集合中具体文档信息:
# -*- coding: UTF-8 -*- import datetime from pymongo import MongoClient client = MongoClient() db = client.book users = db.user #查询全部 for i in users.find(): print(i) #查询name=liuzhen的 for i in users.find({"name":"liuzhen"}): print(i) # 查询name=daming的 print(users.find_one({"name":"daming"}))
控制台输出信息:
3. 更新文档
更新操作语法模板:
Collection.update( <query>, #查询条件 <update>, #update的对象和一些更新的操作符 { upsert: <boolean>, #如果不存在update的记录,是否插入 multi: <boolean>, #可选,mongodb 默认是false,只更新找到的第一条记录 writeConcern: <document> #可选,抛出异常的级别。 } )
具体更新操作示例:
# -*- coding: UTF-8 -*- import datetime from pymongo import MongoClient client = MongoClient() db = client.book users = db.user print users.find_one({"name":"liuzhen"}) users.update({"name":"liuzhen"},{'$set':{"pwd":"98765432d1"}}) print users.find_one({"name":"liuzhen"})
控制台输出信息:
4. 删除文档
删除操作语句模板:
Collection.remove( <query>, #(可选)删除的文档的条件 { justOne: <boolean>, #(可选)如果设为 true 或 1,则只删除一个文档 writeConcern: <document> #(可选)抛出异常的级别 } )
具体删除操作示例:
# -*- coding: UTF-8 -*- import datetime from pymongo import MongoClient client = MongoClient() db = client.book users = db.user print "删除前,集合user中所有文档信息:" #查询全部 for i in users.find(): print(i) #删除name=lisi的全部记录 users.remove({'name': 'daming'}) #删除name=lisi的某个id的记录 id = users.find_one({"name":"liuzhen"})["_id"] users.remove(id) print "删除后,集合user中所有文档信息:" #查询全部 for i in users.find(): print(i) #删除集合里的所有记录 #db.users.remove()
控制台输出信息:
参考资料: