目录

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

Python学习笔记_03:简单操作MongoDB数据库的更多相关文章

  1. C# Asp.net中简单操作MongoDB数据库(二)

    C# Asp.net中简单操作MongoDB数据库(一)    , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...

  2. C# Asp.net中简单操作MongoDB数据库(一)

    需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...

  3. Mongodb学习笔记五(C#操作mongodb)

    mongodb c# driver(驱动)介绍 目前基于C#的mongodb驱动有两种,分别是官方驱动(下载地址)和samus驱动(下载地址). 本次我们只演示官方驱动的使用方法. 官方驱动文档查看 ...

  4. Python学习笔记:sqlite3(sqlite数据库操作)

    对于数据库的操作,Python中可以通过下载一些对应的三方插件和对应的数据库来实现数据库的操作,但是这样不免使得Python程序变得更加复杂了.如果只是想要使用数据库,又不想下载一些不必要的插件和辅助 ...

  5. python学习笔记(15)pymysql数据库操作

    pymysql数据库操作 1.什么是PyMySQL 为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库. PyMySQL : 这是一个使Python连接到MySQL的库,它 ...

  6. Python学习笔记(2):数据库访问

    本来打算继续用Access的,但费了非常大的劲,还是没有搞定.回过头,发现使用sqlite,简单到令人发指.干脆,把C#的CommonCode往这边迁移,先把AccessDB搬过来再说. 类结构和C# ...

  7. Python学习笔记2-flask-sqlalchemy 简单笔记

    flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...

  8. python学习笔记---文件的操作

    数据的保存: 1.内存:常用的变量2.文件:文本内容,二进制的文件内容3.数据库: 读文件:1.要读取的文件路径一定要存在.2.打开存在的文件:open函数    参数1:文件的路径,相对的或者是绝对 ...

  9. python学习笔记十一:操作mysql

    一.安装MySQL-python # yum install -y MySQL-python 二.打开数据库连接 #!/usr/bin/python import MySQLdb conn = MyS ...

随机推荐

  1. bean validation 技术规范

    Bean Validation 技术规范特性概述 张 冠楠 和 陈 志娴2011 年 3 月 24 日发布 WeiboGoogle+用电子邮件发送本页面 2 概述 Bean Validation 规范 ...

  2. 每天一个linux命令-curl命令

    下载文件 如果我们想要下载文件,而不是查看,那么可以使用如下命令: curl -O http://mif.polimercolor.ru/mifsoft/MDict.zip 以上命令会下载文件并以原名 ...

  3. 疑犯追踪第五季/全集Person of Interest迅雷下载

    英文全名Person of Interest,第5季(2015)CBS.本季看点:<疑犯追踪>本季剧组暗示Finch可能重建机器,这次他会给机器更多自由(如Root一直要求的那样).或许新 ...

  4. Eclipse中输入变量会自动补全上屏的解决方法

    我自己在启动Eclipse代码补全后输入感觉确实爽多了,但是每次输入变量后一按下空格,编译器会自己帮你写一个很蛋疼的名字,比如你输入了:String mStr后按下空格,它就变成了mString,十分 ...

  5. 出现Running Android Lint的错误

    进入设置,让软件不要检查即可.

  6. 【转】各种 NoSQL 的比较

    转自 : http://linux.cn/article-2177-1.html 来源:Linux中国  原文:http://linux.cn/article-2177-1.html     即使关系 ...

  7. java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

    错误信息 查看Console标签页: 这儿提示找不到HttpServletRequest类. 解决办法 规则文件更新的时候需要调用servlet-api.jar相关的类,如果您的系统环境下无法找到这个 ...

  8. go语言之进阶篇数组越界导致panic

    1.数组越界导致panic 示例: package main import "fmt" func testa() { fmt.Println("aaaaaaaaaaaaa ...

  9. DevExpress ChartControl控件实现图表【转】

    1.饼状图图 1.1添加ChartControl控件 在工具箱中找到ChartControl控件,拖到窗口中,创建Pie: 1.2准备数据 private DataTable CreateChartD ...

  10. [leetcode]Best Time to Buy and Sell Stock II @ Python

    原题地址:https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ 题意: Say you have an array ...