Python MongoDB 排序

对结果进行排序

使用 sort() 方法对结果进行升序或降序排序。 sort() 方法接受一个参数用于“字段名”,一个参数用于“方向”(升序是默认方向)。

示例

按名称按字母顺序对结果进行排序:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] mydoc = mycol.find().sort("name") for x in mydoc:
print(x)

Python MongoDB 删除文档

删除文档

要删除一个文档,我们使用 delete_one() 方法。 delete_one() 方法的第一个参数是一个查询对象,用于定义要删除的文档。注意:如果查询找到多个文档,仅删除第一个出现的文档。

示例

删除地址为“Mountain 21”的文档:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] myquery = { "address": "Mountain 21" } mycol.delete_one(myquery)

删除多个文档

要删除多个文档,使用 delete_many() 方法。 delete_many() 方法的第一个参数是一个查询对象,用于定义要删除的文档。

示例

删除所有地址以字母S开头的文档:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] myquery = { "address": {"$regex": "^S"} } x = mycol.delete_many(myquery) print(x.deleted_count, " documents deleted.")

删除集合中的所有文档

要删除集合中的所有文档,请将一个空的查询对象传递给 delete_many() 方法:

示例

删除“customers”集合中的所有文档:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] x = mycol.delete_many({}) print(x.deleted_count, " documents deleted.")

Python MongoDB 删除集合

删除集合

您可以使用 drop() 方法删除表,或者在 MongoDB 中称为集合。

示例

删除“customers”集合:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] mycol.drop()

如果成功删除集合, drop() 方法将返回 true,如果集合不存在,则返回 false

Python MongoDB 更新

更新集合

您可以使用 update_one() 方法更新记录,或者在 MongoDB 中称为文档。 update_one() 方法的第一个参数是一个查询对象,用于定义要更新的文档。注意:如果查询找到多个记录,仅更新第一个出现的记录。第二个参数是一个对象,定义文档的新值。

示例

将地址从“Valley 345”更改为“Canyon 123”:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] myquery = { "address": "Valley 345" }
newvalues = { "$set": { "address": "Canyon 123" } } mycol.update_one(myquery, newvalues) # 更新后打印 "customers":
for x in mycol.find():
print(x)

更新多个

要更新满足查询条件的所有文档,请使用 update_many() 方法。

示例

更新所有地址以字母“S”开头的文档:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": { "name": "Minnie" } } x = mycol.update_many(myquery, newvalues) print(x.modified_count, "documents updated.")

Python MongoDB 限制结果

为了在 MongoDB 中限制结果,我们使用 limit() 方法。 limit() 方法接受一个参数,即定义要返回多少个文档的数字。

假设你有一个“customers”集合:

Customers
{'_id': 1, 'name': 'John', 'address': 'Highway 37'}
{'_id': 2, 'name': 'Peter', 'address': 'Lowstreet 27'}
{'_id': 3, 'name': 'Amy', 'address': 'Apple st 652'}
{'_id': 4, 'name': 'Hannah', 'address': 'Mountain 21'}
{'_id': 5, 'name': 'Michael', 'address': 'Valley 345'}
{'_id': 6, 'name': 'Sandy', 'address': 'Ocean blvd 2'}
{'_id': 7, 'name': 'Betty', 'address': 'Green Grass 1'}
{'_id': 8, 'name': 'Richard', 'address': 'Sky st 331'}
{'_id': 9, 'name': 'Susan', 'address': 'One way 98'}
{'_id': 10, 'name': 'Vicky', 'address': 'Yellow Garden 2'}
{'_id': 11, 'name': 'Ben', 'address': 'Park Lane 38'}
{'_id': 12, 'name': 'William', 'address': 'Central st 954'}
{'_id': 13, 'name': 'Chuck', 'address': 'Main Road 989'}
{'_id': 14, 'name': 'Viola', 'address': 'Sideway 1633'}

示例

将结果限制为只返回5个文档:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"] myresult = mycol.find().limit(5) # 打印结果:
for x in myresult:
print(x)

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取

最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

深入了解 Python MongoDB 操作:排序、删除、更新、结果限制全面解析的更多相关文章

  1. python mongodb操作大全

    数据库 增 use db1 #有则切换,无则新增 查 show dbs #查看所有 db #当前 删 db.dropDatabase() 集合: 增: db.user db.user.info db. ...

  2. MongoDB聚合查询及Python连接MongoDB操作

    今日内容概要 聚合查询 Python操作MongoDB 第三方可视化视图工具 今日内容详细 聚合查询 Python操作MongoDB 数据准备 from pymongo import MongoCli ...

  3. MongoDB 文档的更新操作

    在MongoDB中,更新单个doc的操作是原子性的.默认情况下,如果一个update操作更新多个doc,那么对每个doc的更新是原子性的,但是对整个update 操作而言,不是原子性的,可能存在前面的 ...

  4. 三、MongoDB的创建、更新和删除

    一.MongoDB的下载.安装与部署 二.MongoDB的基础知识简介 三.MongoDB的创建.更新和删除 概要 下面开始学习MongoDB最重要也是最基础的部分:C(创建)R(查询)U(更新)D( ...

  5. laravel操作Redis排序/删除/列表/随机/Hash/集合等方法全解

    Song • 3563 次浏览 • 0 个回复 • 2017年10月简介 Redis模块负责与Redis数据库交互,并提供Redis的相关API支持: Redis模块提供redis与redis.con ...

  6. SQL图形化操作设置级联更新和删除

    SQL级联操作设置   对SQL数据库的表,进行级联操作(如级联更新及删除),首先需要设置表的主外键关系,有两种方法:   第一种:   1. 选择你要进行操作的数据库   2. 为你要创建关系的两个 ...

  7. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  8. 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...

  9. Python MongoDB 教程

    基于菜鸟教程实际操作后总结而来 Python MongoDB MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). MongoDB 数据库安装与介绍可以 ...

  10. 吴裕雄--天生自然python学习笔记:Python MongoDB

    MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON). PyMongo Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 P ...

随机推荐

  1. 【Azure Notification Hub】创建Notification Hub失败,提示 unrecognized arguments: --sku Free

    问题描述 用Azure CLI命令创建 Notification Hub,报错不识别的参数 --Free SKU 问题解答 经测试发现,在创建Notification Hub前,需要创建 Notifi ...

  2. 从实测出发,掌握 NebulaGraph Exchange 性能最大化的秘密

    自从开发完 NebulaGraph Exchange,混迹在各个 NebulaGraph 微信群的我经常会看到一类提问是:NebulaGraph Exchange 的性能如何?哪些参数调整下可以有更好 ...

  3. kotlin协程异常处理之-CoroutineExceptionHandler

    转载请标明出处:https://www.cnblogs.com/tangZH/p/17307406.html kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch ...

  4. 为SQL Server配置连接加密

    前言 很多客户在对数据库做安全审计时要求配置连接加密,本文就如何配置加密以及使用证书做一个系统的整理. 连接加密 首先,连接加密不是透明数据加密,很多人经常把两个概念混淆.连接加密是指客户端程序和SQ ...

  5. Python项目维护不了?可能是测试没到位。Django的单元测试和集成测试初探

    前言 好久没搞 Django 了,最近维护一个我之前用 Django 开发的项目竟然有亲切的感觉 测试,在以前确实是经常被忽略的话题,特别是对于 Python Web 这种快速开发框架,怎么敏捷怎么来 ...

  6. Hello 2024C. Grouping Increases(贪心)

    我们只需要记录每个数结尾的数是多少(有点最长上升子序列的味道) 这种子序列的题目很多都是这样的,因为不需要连续很多时候我们只记录最后一个元素是多少. \(记s为较大子序列结尾当前的数,t为较小子序列结 ...

  7. 获取一段时间内,以月/季度为单位,第N天在各个月/季度是几几年几月几号

    /** * 获取一段时间内(可跨年),以季度为单位,第N天在各个季度是几月几号 * @param $sTime 时间戳 * @param $eTime 时间戳 * @param $number 第N天 ...

  8. ip 表单验证 vue iview

    ip 表单验证 vue iview template <Row v-show="config.bindIP"> <Col span="12"& ...

  9. python tkinter - pickle 持久化

    查看当前python版本命令 cmd - python 现在当前版本是 3.8.8 tkinter - tool kits interface

  10. STM32 USB协议和代码分析

    一 前言: usb接口是一个非常重要的通信接口,它的协议是有些复杂的.作为一个工程师,对usb协议和代码进行分析,是一个必备的素质和技能.最近一个项目用到了USB存储接口,花了不少时间把项目做完之后, ...