Python学习笔记_03:简单操作MongoDB数据库
目录
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()
控制台输出信息:

参考资料:
Python学习笔记_03:简单操作MongoDB数据库的更多相关文章
- C# Asp.net中简单操作MongoDB数据库(二)
C# Asp.net中简单操作MongoDB数据库(一) , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...
- C# Asp.net中简单操作MongoDB数据库(一)
需要引用MongoDB.Driver.dll.MongoDB.Driver.core.dll.MongoDB.Bson.dll三个dll. 1.数据库连接: public class MongoDb ...
- Mongodb学习笔记五(C#操作mongodb)
mongodb c# driver(驱动)介绍 目前基于C#的mongodb驱动有两种,分别是官方驱动(下载地址)和samus驱动(下载地址). 本次我们只演示官方驱动的使用方法. 官方驱动文档查看 ...
- Python学习笔记:sqlite3(sqlite数据库操作)
对于数据库的操作,Python中可以通过下载一些对应的三方插件和对应的数据库来实现数据库的操作,但是这样不免使得Python程序变得更加复杂了.如果只是想要使用数据库,又不想下载一些不必要的插件和辅助 ...
- python学习笔记(15)pymysql数据库操作
pymysql数据库操作 1.什么是PyMySQL 为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库. PyMySQL : 这是一个使Python连接到MySQL的库,它 ...
- Python学习笔记(2):数据库访问
本来打算继续用Access的,但费了非常大的劲,还是没有搞定.回过头,发现使用sqlite,简单到令人发指.干脆,把C#的CommonCode往这边迁移,先把AccessDB搬过来再说. 类结构和C# ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- python学习笔记---文件的操作
数据的保存: 1.内存:常用的变量2.文件:文本内容,二进制的文件内容3.数据库: 读文件:1.要读取的文件路径一定要存在.2.打开存在的文件:open函数 参数1:文件的路径,相对的或者是绝对 ...
- python学习笔记十一:操作mysql
一.安装MySQL-python # yum install -y MySQL-python 二.打开数据库连接 #!/usr/bin/python import MySQLdb conn = MyS ...
随机推荐
- 超能英雄第一至四季/全集Heroes迅雷下载
本季第一.二.三.四季 Heroes Season (2006-2009) 看点:<Heroes>是NBC电视台于2006年九月开播的最新科幻电视剧.Heroes(中文剧名为“英雄”或“天 ...
- 使用Spire.Office for .NET(Word、Excel、PPT、PDF等)的初步感受
前言 本文大部分内容来自http://www.codeproject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET. 针对我个人来说, ...
- [转]redis配置文件redis.conf的详细说明
转自: http://www.sufeinet.com/thread-8047-1-1.html # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格 ...
- GraphX中Pregel单源点最短路径(转)
原文链接:GraphX中Pregel单源点最短路径 GraphX中的单源点最短路径例子,使用的是类Pregel的方式. 核心部分是三个函数: 1.节点处理消息的函数 vprog: (VertexId ...
- 一种模块化开发的目录结构和部署tips
开发环境 开发态目录结构类似: 然后用express的static,将上下文映射到static那级目录上,比如访问: http://ip:5000/employee/employeeList.html ...
- Deformable Convolutional Networks-v1-v2(可变形卷积网络)
如何评价 MSRA 视觉组最新提出的 Deformable ConvNets V2? <Deformable Convolutional Networks>是一篇2017年Microsof ...
- SQL Server 损坏修复 之一 常见错误解读
SQL Server 对数据库损坏的错误类型做了细化,在此对几个典型的错误作一下介绍. 错误信息是:“在文件 '%ls'中.偏移量为 %#016I64x 的位置执行 %S_MSG 期间,操作系统已经向 ...
- layer.tips定义弹出的宽度
layer.tips('xxx', '.onlinetest', { tips: [1, '#3595CC'], area: ['500px', 'auto'], time: 4000 });
- Word Embedding与Word2Vec
http://blog.csdn.net/baimafujinji/article/details/77836142 一.数学上的“嵌入”(Embedding) Embed这个词,英文的释义为, fi ...
- 转: wireshark的使用说明
原创者:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html from: https://mp.weixin.qq.com/ ...