查找使用的方法: 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. ArcGIS API for JS 测量线长(各折线段)

    这里测量长度主要分为两个方面,一个是在绘制长折线段时,不仅需要显示总线段的长度,还要在各线段的中间显示各折线段的长度:另一个则是在绘制多边形时,不仅需要显示多边形的面积,还需要在各边的中间显示线段长. ...

  2. User authentication in Django(用户认证)

    一,概述: auth 系统包括: 1)Users 2)Permissions: Binary (yes/no) flags designating whether a user may perform ...

  3. c# System.Console

    System.Console类公开了和操作控制台相关的有用的静态字段和静态方法.下面是System.Console中一些较为重要的方法. public static void Beep()该方法播放蜂 ...

  4. Java IO、NIO、AIO知识总结

    本文主要讲述下自己对IO的理解,对IO的用法和细则可能没有顾虑到. 本文的理解基于以下几篇文章,他们对各自部分都讲的很细,对我理解IO提供了很大帮助. https://www.cnblogs.com/ ...

  5. mui-H5获取当前手机通讯录

    mui.plusReady(function() { // 扩展API加载完毕,现在可以正常调用扩展API plus.contacts.getAddressBook(plus.contacts.ADD ...

  6. es curl 访问

    1. curl -u elastic:mypass -X GET "localhost:9200/my_index/_search?pretty" 相关链接:https://www ...

  7. 吐血Eclipse Maven Selenium TestNG的各种坑

    刚入坑不久,有些是自己知识储备不够造成的,有些...那就是坑 在eclipse里面新建maven项目,然后添加testgn依赖,不多说,这个简单. 第一个坑: 然后在src/test/java这个文件 ...

  8. Windows内核驱动中操作文件

    本页主题:如何在windows内核驱动中对文件操作,实现对文件的拷贝.粘贴.删除.查询信息等,这是很常用也是很简单的方法. 部分内容参考:http://www.cppblog.com/aurain/a ...

  9. IDEA 中tomcat日志位置

    参考 https://blog.csdn.net/dela_/article/details/78555977 /home/dela/.IntelliJIdea2017.1/system/tomcat ...

  10. grep -iq 与grep -qi 意思

    就是有的时候你不需要直接打印出结果,比如在shell脚本中,你只需要知道grep有没有找到指定的字符串,而不需要满屏幕打印出来,因为那样会很难看.这只可以加-q选项,执行结果是:如果找到了,会返回0, ...