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增删改查的更多相关文章

  1. Python列表的增删改查排嵌套特殊输出格式

    Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...

  2. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  3. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  4. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  5. [MongoDB]增删改查

    摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...

  6. springMVC操作mongoDB增删改查

    下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...

  7. 第二部分 Mongodb增删改查

    学习内容:1.mongodb增加操作2.mongodb删除操作3.mongodb查询操作增删改查的高级应用Capped Collection(固定集合)GridFS 大文件上传或下载 1: inser ...

  8. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  9. MongoDB增删改查表文档

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

随机推荐

  1. Angular 彻底解决 Dropdown 在 Safari 上无法自动关闭的问题

    之前在 Safari 上用 focus 事件来实现 Dropdown 下拉菜单,结果在 iOS 上不兼容. 尝试了 MDN 和 stack over flow 上各种奇技淫巧,然而在 iOS 上全都败 ...

  2. Python 之列表切片的四大常用操作

    最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整 ...

  3. TCP 连接与 HTTP 请求的相关问题

    1.现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开? 默认情况下建立 TCP 连接不会断开,只有在请求报头中声明 Connection: clo ...

  4. 第二个视频作品《[SpringCloudAlibaba]微服务之注册中心nacos》上线了

    1.场景描述 第二个视频作品出炉了,<[SpringCloudAlibaba]微服务之注册中心nacos>上线了,有需要的朋友可以直接点击链接观看.(如需购买,请通过本文链接购买) 2. ...

  5. css实现图片动画效果

    需求 项目里有个消息中心,当有消息的时候,小铃铛图标可以晃两下,提示当前有信息. 实现过程 书写css 使用css的keyframe属性,配合animation. @keyframes ringing ...

  6. 基于Redis消息的订阅发布应用场景

    目录 基于Redis消息的订阅发布应用场景 1.应用背景 2.困境 2.1 锁表风险 2.2 实时性差 2.3 增加编程复杂性 2.4 实时效果 3.解决方案 3.1 前端传值给服务端 3.2 服务端 ...

  7. jQuery随笔记录

            DOM遍历 parent()方法返回所选元素的直接父元素.(parent() 只能遍历单个级别的 DOM树) parents()方法获取所选元素的所有祖先 children()所选元素 ...

  8. web.xml的常见配置

    web.xml的常见配置 <!-- 配置全局的编码过滤器 --> <filter> <description>编码过滤器</description> & ...

  9. RCS MO_Client&server Net log 摘录

          传输过程总体来说: (1)客户端提供[客户端随机数.可选算法套件.sessionId]等信息 (2)服务端提供[服务端随机数.选用算法套件.sessionId]等信息 (3)服务端提供证书 ...

  10. vmware vsphere client 虚拟机动态添加磁盘

    0x00 事件 为了在虚拟机添加了磁盘之后,不重启机器加载新磁盘. 如上图,添加了一块 10G 的磁盘之后. 在虚拟机中是看不到新添加的磁盘: 0x01 解决 运行如下命令,通过重新扫描 SCSI ( ...