Pymongo 笔记
Pymongo
1、MongoDB概念
MongoDB是一种非关系型数据库(NoSQL),MongoDB数据存储于内存,内存不足则将热度低数据写回磁盘。存储的数据结构为文档。每个数据库包含若干集合(collection),集合又包含文档。
集合相当于SQL中的表的功能,可以使用集合对文档进行分组。
文档中包含多组键值对(BSON),值可为多种类型、其他文档或者文档数组等等。
字段即键值对。
2、Pymongo基本操作
连接MongoDB:
client = pymongo.MongoClient(host='127.0.0.1', port=27017)
选择数据库school:
db = client['school']
选择集合class:
collection = db['class']
插入数据:
student = {
'name':'zhangsan',
'age':15
}
res = collection.insert_one(student)
res = collection.insert_many([student, student, student])
查询:
使用find_one查询返回一个满足要求的文档(字典类型),无则返回None。
使用find查询返回所有满足要求的文档(Cursor类型),无则返回None。
查询还可以按照规则查,诸如大于、小于、不等于、在...之内。
查询规则doc
# 查询一个满足age=12的文档
res = collection.find_one({'age':12})
# 查询所有满足age=12的文档
res = collection.find({'age':12})
for re in res:
print(re) # type(re) == dict
# 查询所有age>12的文档
res = collection.find({'age':{'$gt':12}})
更新:
使用update进行更新。
如下调用直接把name=zhangsan的文档全部替换为后面的,有其他字段直接替换之后就没了。
res = collection.update({'name':'zhangsan', {'age':13,'name':'zhangsan'}})
使用$set如果之前还有其他字段,name就会保留,只会更新给出的字段。
res = collection.update_one({'name':'zhangsan', {'$set':{'age':13}}})
update也支持根据规则更新。
删除:
使用remove根据规则删除。
res = collection.delete_one({'age':12})
res = collection.delete_many({'age':13})
Pymongo 笔记的更多相关文章
- pymongo 笔记(转)
1. 安装MongoDB并启动服务,安装PyMongo2. 连接MongoDB,并指定连接数据库.集合 import pymongo client = pymongo.MongoClient(host ...
- pymongo 3.3 使用笔记
#首先安装pymongo sudo pip install pymongo || sudo easy_install pymongo #demo均在交互解释器下进行 from pymongo impo ...
- MongoDB学习笔记六:进阶指南
[数据库命令]『命令的工作原理』MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行.runCommand仅仅是接受命令文档,执行等价查询,因此,> db. ...
- 《Python 数据科学实践指南》读书笔记
文章提纲 全书总评 C01.Python 介绍 Python 版本 Python 解释器 Python 之禅 C02.Python 基础知识 基础知识 流程控制: 函数及异常 函数: 异常 字符串 获 ...
- 学习笔记:python3,PIP安装第三方库(2017)
https://pip.pypa.io/en/latest/quickstart/ pip的使用文档 http://www.lfd.uci.edu/~gohlke/pythonlibs/ .whl ...
- python高级编程读书笔记(一)
python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...
- python学习笔记比较全
注:本笔记基于python2.6而编辑,尽量的偏向3.x的语法 Python的特色 1.简单 2.易学 3.免费.开源 4.高层语言: 封装内存管理等 5.可移植性: 程序如果避免使用依赖于系统的特性 ...
- 笔记-python lib-pymongo
笔记-python lib-pymongo 1. 开始 pymongo是python版的连接库,最新版为3.7.2. 文档地址:https://pypi.org/project/pymong ...
- Scrapy笔记06- Item Pipeline
Scrapy笔记06- Item Pipeline 当一个item被蜘蛛爬取到之后会被发送给Item Pipeline,然后多个组件按照顺序处理这个item. 每个Item Pipeline组件其实就 ...
随机推荐
- 计算机之路 -MySQL 初学
照着电脑学了一天终于把MySQL装上了. 明天打算重新装一次 然后再自己记录一下步骤
- 前端知识(一)03 初识 ECMAScript 6-谷粒学院
目录 一.ECMAScript 6 1.什么是 ECMAScript 6 2.ECMAScript 和 JavaScript 的关系 二.基本语法 1.let声明变量 2.const声明常量(只读变量 ...
- secrets 管理工具 Vault 的介绍、安装及使用
原文:https://ryan4yin.space/posts/expirence-of-vault/ Vault 是 hashicorp 推出的 secrets 管理.加密即服务与权限管理工具.它的 ...
- Bagging和Boosting的介绍及对比
"团结就是力量"这句老话很好地表达了机器学习领域中强大「集成方法」的基本思想.总的来说,许多机器学习竞赛(包括 Kaggle)中最优秀的解决方案所采用的集成方法都建立在一个这样的假 ...
- ES数据库高可用配置
ES高可用集群部署 1.ES高可用架构图 2.创建ES用户组 1.Elasticsearch不能在 root 用户下启动,我们需要在三台机器上分创建一个普通用户# 创建elastic用户 userad ...
- RVA与FOA的转换
主要取决于文件对齐与内存对齐的值
- 【LinuxShell】cp 用法详解
Linux cp命令主要用于复制文件或目录. -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Wi ...
- JVM类加载与双亲委派机制被打破
前言 前文已经讲了虚拟机将java文件编译成class文件后的格式:JVM虚拟机Class类文件研究分析 java文件经过编译,形成class文件,那么虚拟机如何将这些Class文件读取到内存中呢? ...
- ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具
ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...
- windows提权常用系统漏洞与补丁编号速查对照表
#Security Bulletin #KB #Description #Operating System CVE-2020-0787 [Windows Background Intelligent ...