目录

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. Linux学习2-在阿里云服务器上部署禅道环境

    前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...

  2. java collection.frequency方法

    collection.frequency方法,可以统计出某个对象在collection中出现的次数 比如: frequency(Collection<?> c, Object o)     ...

  3. java集合类——Stack栈类与Queue队列

    Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展. 栈是 后进先出的. 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法.测试堆栈是否为空的 em ...

  4. 美国恐怖故事第七季/全集American Horror Story全迅雷下载

    FX电视台已经续订了<美国恐怖故事>第七季,将于2017年开播,第七季终于确定副标题为<邪教 Cult>.剧集的创造者瑞恩·墨菲与布拉德·法尔查克将再度联手.顺便一说,< ...

  5. 实用ExtJS教程100例-007:ExtJS中Window组件最小化

    在上一节中我们演示了如何使用ExtJS的Window组件,这篇内容中我们来演示一下如何将窗口最小化. 要让ExtJS标题栏中显示最小化按钮并不麻烦,只需要设置 minimizable: true 即可 ...

  6. 《Erlang程序设计(第2版)》

    <Erlang程序设计(第2版)> 基本信息 作者: (瑞典)Joe Armstrong 译者: 牛化成 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115354 ...

  7. [Web 前端] React-router4简约教程

    cp from : http://react-china.org/t/react-router4/15843/1 React-router和React-router-dom的选择 很多刚使用react ...

  8. Orchard之创建列表

    一:首先需要确保 List Module 的开始 即: Enable 之后,左边的列表中,多了一个 List 功能菜单. 二:为 Content type 选定 Cotainable 不再赘述. 三: ...

  9. 【JAVA与C#比较】其它

    从语言方面的知识点来说,这应该是最后一篇有关java和C#的比较了.如果要了解两者具体各知识点的异同,请查看前面的相关文章,不过后面有可能存在,不能放到前面文章所列知识点的情况,应该就会补充到这里吧. ...

  10. ASP.NET C#根据HTML页面导出PDF

    在启明星采购系统里,新增了导出PDF功能.整个功能使用了第三方软件 wkhtmltopdf(下载) 官网 https://wkhtmltopdf.org/ 提供有更多版本下载 他可以把HTML页面转换 ...