查找使用的方法: db.collection.find()

查找所有文档

db.collection.find({})或者db.collection.find({})

指定键值对

db.collection.find({field: value}, ...),此方法会找到所有包含了指定的field: value对的文档(如果field字段下的值是一个数组,并且value在这个数组中,那么也将被查找出来,换句话说,value除了直接形容这个字段的值,若字段值是一个数组的话,也可以去匹配数组里的值)

使用查询运算符

例如db.collection.find( { status: { $in: [ "A", "D" ] } } )可以找到status字段值为"A"或"D"的文档。更多查询运算符

"与"查询

"与"查询可以查询同时满足多个条件的文档。直接将"与"查询的查询条件写在同一个查询过滤器文档中即可隐式地调用$and进行查询。例如: db.collection.find({status: "A", qty: {$lt: 30}})查询status为"A"并且qty小于30的文档

"或"查询

"或"查询可以查询满足多个条件之一的文档。使用$or查询运算符,将查询的条件写在一个数组中,例如: db.collection.find({$or: [ {status: "A"}, {qty: {$lt: 30}} ]})将会查询status为"A"或者qty小于30的文档

还可以将"与"查询和"或"查询结合起来,例如:db.collection.find( { status: "A", $or: [ { qty: { $lt: 30} }, { item: /^p/ } ] } )将查询status为"A"同时qty小于30或item以"p"开头的文档。

利用查询运算符还可以进行更多复杂的查询操作。


查询嵌套文档

如果想查询嵌套的文档,可以使用点符号,例如: db.collection.find({ "size.uom": "in" })将查询size字段下的uom字段值为"in"的文档。

查询一个数组

db.collection.find({ tags: [ "red", "blank" ] })将查找一个字段tags的值为数组["red", "blank"]的文档

如果使用查询运算符,还可以有更多的查询方式,例如db.collection.find({ tags: {$all: ["red", "blank"] } })将查找field字段的值为一个数组,且此数组包含"red"和"blank"的文档。

MongoDB学习记录(三) - MongoDB的"增查改删"操作之"查"的更多相关文章

  1. MongoDB学习记录(四) - MongoDB的"增查改删"操作之"改"

    更新文档主要有以下几种方法: db.collection.updateOne(filter, update, options) db.collection.updateMany(filter, upd ...

  2. MongoDB学习记录(二) - MongoDB的"增查改删"操作之"增"

    如果做插入文档操作的集合不存在,那么集合将被创建 db.collection.insertOne() insertOne为collection插入一条文档,如果文档的_id字段未指定,MongoDB会 ...

  3. Mongodb学习笔记三(Mongodb索引操作及性能测试)

    第三章 索引操作及性能测试 索引在大数据下的重要性就不多说了 下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载.官网下载地址:http://www.robomo ...

  4. php 连接mongodb 增查改删操作

    查询 <?php $m=new MongoClient('mongodb://admin:admin@localhost:27017/admin'); $db=$m->hndb; $cc= ...

  5. MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

    看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...

  6. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

  7. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  8. SQL Server 2012 学习笔记3 增查改删

    现在举例几个"增查改删"的语句 select * from UserInfor --查找所有字段 select username,UserId from UserInfor -- ...

  9. JavaScript学习记录三

    title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

随机推荐

  1. winreg操作windows注册表详解示例

    #coding:utf-8 #=====================================================================#=====本程序演示了WINR ...

  2. cmd命令行模式开启或关闭 windows功能 (转载)

    1,用管理员身份运行cmd. 2,运行 dism /online  /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...

  3. spring注解-“@Scope”

    @Scope可用来指定Spring创建bean的方式 默认为单实例,即@Scope("singleton").IOC容器启动的时候会调用方法创建对象并放到IOC容器中,以后每次获取 ...

  4. Linux命令:popd

    语法 popd [-n] [+N | -N | dir] 把目录弹栈,就是从栈里删除.popd只有删除一种意思,不像pushd,既有压栈,又有移动栈内目录的功能. 不带任何参数,模式删除栈顶,即最上面 ...

  5. 可视化n次贝塞尔曲线及过程动画演示--大宝剑

    起因 研究css中提供了2次.3次bezier,但是没有对n次bezier实现.对n次的实现有很大兴趣,所以就用js的canvas搞一下,顺便把过程动画模拟了一下. 投入真实生产之中,偏少. n次be ...

  6. 关于 登录框的测试的一些case

    ---恢复内容开始--- 最近的一个task是需要测试一个登录的界面,我的产品是应用程序,不是网页,所以,测试起来,会相对简单一些 还是按照 质量模型的角度,来思考这个 页面的测试 Requireme ...

  7. Win10 远程桌面连接出现“要求的函数不受支持”的解决办法之修改注册表

    问题起因 笔者自己在阿里云上搞服务器,有一台 Windows Server 必须通过远程桌面连接来管理,由于没能完全关掉 Win10 自带的烦人的系统更新,导致昨天安装完更新后出现了连接远程桌面时“要 ...

  8. 自己实现ArrayList

    思路: 一 载体 ArrayList是一个集合容器,必然要有一个保存数据的载体. public class MyArraylist { private final static int INIT_CO ...

  9. Linux samba服务搭建

    实验准备: 准备两台机器,server0(172.25.0.11)和deskop0(172.25.0.12),要求在server0上实现samba共享,在desktop0上访问共享. 1.允许mark ...

  10. POJ-3660.Cow Contest(有向图的传递闭包)

      Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17797   Accepted: 9893 De ...