Python学习笔记_03:简单操作MongoDB数据库

目录

1. 插入文档

2. 查询文档

3. 更新文档

4. 删除文档

 

 


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()

 控制台输出信息:

 

 

参考资料:

1.Python连接MongoDB操作

2.python操作MongoDB

posted @ 2017-11-02 10:29  舞动的心  阅读(479)  评论(0编辑  收藏  举报