MongoDB(14)- 查询 null 字段或缺少某个字段的文档

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB(14)- 查询 null 字段或缺少某个字段的文档

插入测试数据


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 操作符哦

 

相关文章
|
6月前
|
NoSQL MongoDB 微服务
微服务——MongoDB常用命令——文档的分页查询
本文介绍了文档分页查询的相关内容,包括统计查询、分页列表查询和排序查询。统计查询使用 `count()` 方法获取记录总数或按条件统计;分页查询通过 `limit()` 和 `skip()` 方法实现,控制返回和跳过的数据量;排序查询利用 `sort()` 方法,按指定字段升序(1)或降序(-1)排列。同时提示,`skip()`、`limit()` 和 `sort()` 的执行顺序与编写顺序无关,优先级为 `sort()` > `skip()` > `limit()`。
249 1
|
6月前
|
JSON NoSQL MongoDB
微服务——MongoDB常用命令——文档基本CRUD
本文介绍了MongoDB中文档的基本操作,包括插入、查询、更新和删除。单个文档插入使用`insert()`或`save()`方法,批量插入用`insertMany()`。查询所有文档用`find()`,条件查询可在`find()`中添加参数,投影查询控制返回字段。更新文档通过`update()`实现,支持覆盖修改、局部修改(使用`$set`)和批量修改。列值增长可用`$inc`实现。删除文档用`remove()`,需谨慎操作以免误删数据。此外,文档键值对有序,区分大小写,不能有重复键。
131 1
|
2月前
|
SQL Java 数据库连接
updateByPrimaryKeySelective()方法因字段为null导致的更新不成功问题解决办法
为了让这个解决方案更容易融入到现有系统中,其实现应该尽量简单且无缝,避免重复代码,并提高代码复用性。结合上述方法中提供的策略,应可以解决在使用 `updateByPrimaryKeySelective()`方法时因字段为null导致的更新不成功问题。请根据实际业务需求和上下文选择最合适的方案。这样的解决方案能够达到更佳的代码质量和维护性。
258 14
|
6月前
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——根据上级ID查询文章评论的分页列表
本节介绍如何根据上级ID查询文章评论的分页列表,主要包括以下内容:(1)在CommentRepository中新增`findByParentid`方法,用于按父ID查询子评论分页列表;(2)在CommentService中新增`findCommentListPageByParentid`方法,封装分页逻辑;(3)提供JUnit测试用例,验证功能正确性;(4)使用Compass插入测试数据并执行测试,展示查询结果。通过这些步骤,实现对评论的高效分页查询。
93 0
|
8月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
291 17
|
8月前
|
存储 监控 NoSQL
【赵渝强老师】MongoDB文档级别的并发控制
MongoDB使用WiredTiger存储引擎在文档级别进行并发控制,允许多个写操作同时修改不同文档,但对同一文档的修改需序列化执行。引擎采用乐观锁和意向锁机制处理冲突。通过视频讲解、插入大量文档示例及使用`mongotop`和`db.serverStatus()`命令,演示了如何监控MongoDB的锁信息和读写统计,展示了数据库和集合级别的写锁情况。
234 29
|
9月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
368 9
|
11月前
|
存储 NoSQL MongoDB
MongoDB 查询分析
10月更文挑战第21天
93 1
|
11月前
|
NoSQL MongoDB 索引
MongoDB 覆盖索引查询
10月更文挑战第21天
108 1
|
11月前
|
SQL NoSQL MongoDB
MongoDB 查询文档
10月更文挑战第15天
327 1

推荐镜像

更多