目录

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. ibatis.net:第三天,Insert

    手工生成主键的模型 xml 配置 <insert id="InsertUser" parameterClass="User"> INSERT INT ...

  2. JAVA8-让代码更优雅之List排序

    先定义一个实体类 @Data @AllArgsConstructor @NoArgsConstructor public class Human { private String name; priv ...

  3. Android手机提示“未安装应用程序”

    用eclipse调试应用时,遇到了这个问题,网上给出的解决方案倒是挺多,但似乎一个都没奏效,而且我手机也重启了,还是有问题,郁闷ing-   然后看到一篇文章指出,可能不是签名和SD的卡问题,而是我们 ...

  4. Emgu CV

    摄像头 Capture _capture = new Capture(0); _capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PR ...

  5. [PHP] 6种负载均衡算法

    CP from  : https://www.cnblogs.com/SmartLee/p/5161415.html http://www.dataguru.cn/thread-559329-1-1. ...

  6. Sutherland-Hodgeman多边形裁剪

    原文地址:http://course.cug.edu.cn/cugFirst/computer_graphics/class/course/3-3-1-a.htm

  7. Java学习笔记——IO操作之以图片地址下载图片

    以图片地址下载图片 读取给定图片文件的内容,用FileInputStream public static byte[] mReaderPicture(String filePath) { byte[] ...

  8. jstorm简介

    最近在研究jstorm,看了很多资料,所以也想分享出来一些. 安装部署 zeromq 简单快速的传输层框架,安装如下: wget http://download.zeromq.org/zeromq-2 ...

  9. 用EntityFramework6完成增删查改和事务【转】

    http://www.cnblogs.com/wujingtao/p/5407821.html 上一节我们已经学习了如何使用EF连接数据库,并简单演示了一下如何使用EF6对数据库进行操作,这一节我来详 ...

  10. Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证

    在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用.用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决 ...