写点什么

技术干货| MongoDB 如何查询 Null 或不存在的字段?

  • 2022 年 5 月 07 日
  • 本文字数:516 字

    阅读完需:约 2 分钟

技术干货| MongoDB如何查询Null或不存在的字段?

在 MongoDB 中不同的查询操作符对于 null 值处理方式不同。

本文提供了使用 mongo shell 中的db.collection.find() 方法查询 null 值的操作案例。案例中使用的 inventory 集合数据可以通过下面的语句产生。

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

等值匹配

当使用**{item:null}作为查询条件的时候,返回的是 item 字段值为 null 的文档或者不包含 item**字段的文档。

db.inventory.find( { item: null } )
复制代码

该查询返回 inventory 集合中的所有文档。


类型检查

当使用**{item:{$type:10}}**作为查询条件的时候,仅返回 item 字段值为 null 的文档。item 字段的值是BSON TYPE NULL(type number 10)。

db.inventory.find( { item : { $type: 10 } } )
复制代码

该查询仅返回 item 字段值为 null 的文档。


存在检查

当使用**{item:{$exists:false}}作为查询条件的时候,返回不包含 item**字段的文档。

db.inventory.find( { item : { $exists: false } } )
复制代码

该查询仅返回不包含 item 字段的文档。

相关文档

$type

$exists

原文链接:

https://www.mongodb.com/docs/manual/tutorial/query-for-null-fields/


关于作者:张芷嘉

MongoDB 中文用户文档·CRUD 操作章节负责人

喜欢跑步,做饭,睡觉,出门三公里就困。使用 MongoDB 两年,倍感丝滑。


用户头像

还未添加个人签名 2019.07.27 加入

还未添加个人简介

评论

发布
暂无评论
技术干货| MongoDB如何查询Null或不存在的字段?_mongodb_MongoDB中文社区_InfoQ写作社区