插入测试数据

db.inventory.insertMany([
{ _id: 1, item: null },
{ _id: 2 }
])

后面的栗子都会用到这里的测试数据

查询匹配包含值为 null 的 item 字段或不包含 item 字段的文档

> db.inventory.find( { item: null } )
{ "_id" : 1, "item" : null }
{ "_id" : 2 } 

如果我想单独的把字段值有 null 的文档找出来或者把没有 item 字段的文档找出来呢?

只查询包含值为 null 的 item 字段

> db.inventory.find( { item : { $type: 10 } } )
{ "_id" : 1, "item" : null }

还记得吗,在 BSON 数据类型里面,null 的序号是 10

只查询不包含 item 字段的文档

> db.inventory.find({ item :{ $exists : false } })
{ "_id" : 2 }

只查询包含 item 字段的文档

> db.inventory.find({ item :{ $exists : true } })
{ "_id" : 1, "item" : null }

记住如果想查询不包含/包含某个字段的文档,是用 $exists 操作符哦

MongoDB(14)- 查询 null 字段或缺少某个字段的文档的更多相关文章

  1. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

  2. java操作mongodb数据库实现新建数据库,新建集合,新建文档

    *首先明确一点,要通过java代码创建mongodb数据库实例,需要同时创建集合和文档. 代码实现: /* 建立与mongodb数据库的连接,可指定参数,如:MongoClient client = ...

  3. mongodb的查询操作符

    本文地址:http://www.cnblogs.com/egger/archive/2013/05/04/3059374.html   欢迎转载 ,请保留此链接! 官方参考: http://docs. ...

  4. MongoDB(四):数据类型、插入文档、查询文档

    1. 数据类型 MongoDB支持许多数据类型. 字符串 - 这是用于存储数据的最常用的数据类型.MongoDB中的字符串必须为UTF-8. 整型 - 此类型用于存储数值. 整数可以是32位或64位, ...

  5. MongoDB的学习--文档的查询

    继续关于<MongoDB权威指南>记录,今天的内容是文档的查询~~ MongoDB官网地址:http://www.mongodb.org/ 我使用的是MongoDB 2.4.8 find函 ...

  6. MongoDB学习笔记——文档操作之查询

    查询文档 使用db.COLLECTION_NAME.findOne()可以查询所有满足条件的第一条数据 预发格式如下: db.COLLECTION_NAME.findOne(<query> ...

  7. MongoDB高级查询用法大全

    转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册: http://www.mongodb.org/d ...

  8. SpringMVC MongoDB之“基本文档查询(Query、BasicQuery)”

    一.简介 spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我 ...

  9. mongodb 数组查询

    转发自:https://blog.csdn.net/leshami/article/details/55049891 一.演示环境及数据> db.version() 3.2.11 > db ...

随机推荐

  1. WPS函数

    vlookup函数:=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 官方解释:其逻辑为在某一区间内搜索区间外某一单元格的值, ...

  2. Python开发篇——基于React-Dropzone开发上传组件

    这次我要讲述的是在React-Flask框架上开发上传组件的技巧.我目前主要以React开发前端,在这个过程中认识到了许多有趣的前端UI框架--React-Bootstrap.Ant Design.M ...

  3. Openresty Lua协程调度机制

    写在前面 OpenResty(后面简称:OR)是一个基于Nginx和Lua的高性能Web平台,它内部集成大量的Lua API以及第三方模块,可以利用它快速搭建支持高并发.极具动态性和扩展性的Web应用 ...

  4. 关于协议栈XDATA,内存溢出的小结

    [第二部分的内容仅供参考,自己不是十分确定] ************************************************************** ************** ...

  5. myvimrc

    set nocompatible execute pathogen#infect() call pathogen#helptags() call pathogen#incubate() imap jk ...

  6. Linux 文件、目录与磁盘格式

    文件属性      连接数  文件持有者 文件所属群组 文件容量 文件最后修改时间 文件名(就那个..) 第一栏其中文件属性有10,第一个属性代表这个文件是目录.文件或链接文件: [d]目录 [-]文 ...

  7. The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path 问题解决记录

    1.问题 启动Tomcat之后,在浏览器输入IP后显示503,查看catalina.log发现报错: 2.问题定位:缺少 tomcat-native library 就是说 缺少Tomcat Nati ...

  8. 由”二进制里不能有3“引发的对parseInt的思考

    看到一道面试题,["1", "2", "3"].map(parseInt) 答案是多少? 心生好奇,做做看,发现卡住,没什么头绪.首先对pa ...

  9. 012 基于FPGA的网口通信实例设计【转载】

    一.网口通信设计分类 通过上面其他章节的介绍,网口千兆通信,可以使用TCP或者UDP协议,可以外挂PHY片或者不挂PHY片,总结下来就有下面几种方式完成通信: 图8‑17基于FPGA的网口通信实例设计 ...

  10. NOIP 模拟 $18\; \rm 炼金术士的疑惑$

    题解 \(by\;zj\varphi\) 高斯消元 根据高中化学知识,求解方程的就是一直方程凑出来的,焓值也一样 那么对于要求的方程和一直方程,我们做一次高斯消元,以每个物质为未知数,因为它保证有解, ...