MongoDB——文档操作(查询文档)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB——文档操作(查询文档)相关的知识,希望对你有一定的参考价值。

目录

一、查询文档

1.1、查询集合中文档的语法

  • find 查询集合中的若干文档。语法格式如下:

    db.collection.find(query, projection)
    
  • 查询集合中的第一个文档。语法格式如下

    db.collection.findOne(query, projection)
    
    参数作用
    query可选,使用查询操作符指定查询条件
    projection可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。投影时,id为1的时候,其他字段必须是1;id是0的时候,其他字段可以是0;如果没有_id字段约束,多个其他字段必须同为0或同为1。

1.2、查询集合中文档的示例

  • 查询集合中若干文档的示例

    > db.books.find()
    

    如果查询返回的条目数量较多,mongo shell则会自动实现分批显示。默认情况下每次只显示20条,可以输入it命令读取下一批。

  • 根据条件查询集合中的若干文档,且返回指定字段的示例

    #查询tag=mongodb的所有文档,并且只返回title和author字段
    db.books.find(tag:"mongodb",title:1,author:1)
    

  • 查询集合中的第一个文档的示例

    db.collection.findOne(query, projection)
    

二、条件查询文档

2.1、查询条件对照表

SQLMQL
a = 1a: 1
a <> 1a: $ne: 1
a > 1a: $gt: 1
a >= 1a: $gte: 1
a < 1a: $lt: 1
a <= 1a: $lte: 1

2.2、查询逻辑对照表

SQL
a = 1 AND b = 1a: 1, b: 1或$and: [a: 1, b: 1]
a = 1 OR b = 1$or: [a: 1, b: 1]
a IS NULLa: $exists: false
a IN (1, 2, 3)a: $in: [1, 2, 3]

2.3、查询逻辑运算符

逻辑运算符含义
$lt存在并小于
$lte存在并小于等于
$gt存在并大于
$gte存在并大于等于
$ne不存在或存在但不等于
$in存在并在指定数组中
$nin:不存在或不在指定数组中
$or匹配两个或多个条件中的一个
$and匹配全部条件

2.4、指定条件查询的示例

  • 查询带有nosql标签的book文档

  • 按照id查询单个book文档的示例

    db.books.find(_id:ObjectId("62558ad4fc0392835a753c9b"))
    

  • 查询分类为“travel”、收藏数超过60个的book文档示例

    db.books.find(type:"travel",favCount:$gt:60)
    

三、排序&分页

3.1、指定排序示例

  • 在 MongoDB 中使用 sort() 方法对数据进行排序。

    #指定按收藏数(favCount)降序返回,-1表示降序;1表示升序 
    db.books.find(type:"travel").sort(favCount:-1)
    

3.2、分页查询示例

  • skip用于指定跳过记录数,limit则用于限定返回结果数量。可以在执行find命令的同时指定skip、limit参数,以此实现分页的功能。
    #假定每页大小为8条,查询第3页的book文档:
    db.books.find().skip(8).limit(4)
    

3.3、正则表达式匹配查询

  • MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式。

    db.books.find(type:$regex:"so")
    //或者 
    db.books.find(type:/so/)
    


创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于MongoDB——文档操作(查询文档)的主要内容,如果未能解决你的问题,请参考以下文章

《MongoDB入门教程》第12篇 查询结果排序

《MongoDB入门教程》第12篇 查询结果排序

MongoDB 实用数组聚合操作 (2)

MongoDb索引--基础篇

MongoDB升序/降序定位错误值

Mongodb的索引操作