Python对MongoDB增删改查
pip install pymongo
import pymongo
# 建立连接
client = pymongo.MongoClient()
# 指定数据库 (不存在则会新建)
db = client['py_mongo']
# 删除数据库
# client.drop_database('py_mongo_temp')
# 创建集合
# db.create_collection('col_temp')
# 删除集合
# print(db.drop_collection('col_temp'))
# 指定集合 (不存在则会新建)
collection = db['mongo_col']
# collection = pymongo.MongoClient()['py_mongo']['mongo_col']
基本使用:insert() 、 remove() 、 update() 、 find()
# 增 insert()
# 如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId
# 增加一条
# collection.insert({'_id':1,'name':'JiYu','num':0})
# 增加多条
# collection.insert( [
# {'name':'jiyu','num':12},
# {'name':'jiyu','num':34},
# {'name':'nianhua','num':12},
# {'name':'nianhua','num':34},
# ] )
# 删 remove()
# 删除集合中满足条件的所有文档
# collection.remove({'name':'jiyu'})
# 只删除集合中满足条件的第一条文档
# collection.remove({'name':'nianhua'},multi=False)
# 删除所有
# collection.remove()
# 改 update()
# 修改一条数据 只有name,没有num了,整条数据变成<update>里的内容
# collection.update({'name':'jiyu'},{'name':'nianhua'})
# 指定属性修改 $set
# collection.update({'name':'jiyu'},{'$set':{'name':'nianhua'}})
# 修改集合中所有满足条件的文档:multi: true
# collection.update({'name':'nianhua'},{'$set':{'name':'NianHua'}},multi=True)
# 查 find()
# 查询所有
# for i in collection.find():
# print(i)
# 根据条件查询
# for i in collection.find({'name': 'NianHua'}):
# print(i)
# and 和 or 条件
# condition = {'$or': [{'num': 12}, {'name': 'NianHua'}]}
# for i in collection.find(condition):
# print(i)
# 操作符
# for i in collection.find({'num': {'$gt': 20}}):
# print(i)
官方推荐:insert_one() 、 delete_one() 、 update_one() 、 find_one()
# 增 insert_one() insert_many()
# 添加一条
# collection.insert_one({'name':'ming','num':101})
# 添加多条
# collection.insert_many( [
# {'name':'hong','num':111},
# {'name':'fei','num':111}
# ] )
# 删 delete_one() delete_many()
# 删除一条
# collection.delete_one({'num': 111})
# 删除多条
# collection.delete_many({'name':'NianHua'})
# 改 update_one() update_many()
# 需要用$进行操作,加上$set,否则会报错:update only works with $ operators
# 修改一条
# collection.update_one({'name':'jiyu'},{'$set':{'num':99}})
# 修改多条
# collection.update_many({'name':'jiyu'},{'$set':{'num':99}})
# 查 find_one() find()
# 查一条
# print(collection.find_one({'num':111}))
# 查找所有 find() 只是一个对象 用for 遍历出来
for i in collection.find():
print(i)
Python对MongoDB增删改查的更多相关文章
- Python列表的增删改查排嵌套特殊输出格式
Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- 数据库——MongoDB增删改查
MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...
- MongoDB - 增删改查及聚合操作
目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...
- [MongoDB]增删改查
摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...
- springMVC操作mongoDB增删改查
下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...
- 第二部分 Mongodb增删改查
学习内容:1.mongodb增加操作2.mongodb删除操作3.mongodb查询操作增删改查的高级应用Capped Collection(固定集合)GridFS 大文件上传或下载 1: inser ...
- MongoDB(六)java操作mongodb增删改查
java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...
- MongoDB增删改查表文档
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...
随机推荐
- SpringMVC 自定义参数解析器.
一.简述 有没有想过像 @RequestParam.@RequestBody 这些注解的工作原理呢?为什么 form 表单.application/json 的参数能够直接封装进 Bean 对象中呢? ...
- spring security 原理+实战
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- 2019年腾讯PHP程序员面试题目分享
有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群jq.qq.com 1. php 的垃圾回收机制 PHP 可以自动进行内存管理,清除 ...
- macbook无法下载软件问题解决
今天新买了一台MacBook Pro,但是发现无法下载软件,在App Store中一直转圈圈. 方法:修改网络DNS为114.114.114.114和8.8.8.8,即可解决.
- JAVA集合框架(三)-Map
前言 Map是java中用于存储键值对映射的接口.是解决编程问题最常用的数据结构之一.在工作中,有时候为实现一个功能可能写了好大一段代码,运行是ok了,但是就是不想回头再看,不敢相信自己写的这么烂.这 ...
- 字节跳动——IT技术工程师面试题
.自我介绍 .项目介绍 .争对个人项目进行提问 .场景模拟 .1如何知道用户的指定视频(类似于QQ发视频)的服务是正常的 .使用appum进行自动化测试 .使用bat脚本获取进程状态,然后定时发送em ...
- Navicat远程连接MySQL8,必知防坑策略
项目上线是每一个开发工程师面临收获前面抓紧时间开发的成果,但有时我们上线项目首先需要做一些相关的业务测试.通过Xshell远程连接后使用命令行的方式连接操作Mysql这个没什么太大的你问题.但每次通过 ...
- 属性文件——Java&Spring
属性文件 什么是属性文件 ? 定义:一个扩展名为properties文件,属性文件都是以key-value(键值对)来保存文件的内容,如:log4j.properties,db.properties等 ...
- maven配置多个镜像
问题场景 1.国内访问maven默认远程中央镜像特别慢 2.用阿里的镜像替代远程中央镜像 3.大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像 解决方案 setti ...
- Mysql增量备份之Mysqldump&Mylvmbackup
简单介绍 备份类型 备份方式 热备份:备份期间不需要服务停机,业务不受影响: 温备份:备份期间仅允许读的请求: 冷备份:备份期间需要关闭Mysql服务或读写请求都不受影响: 完全备份:full bac ...