Null(空值)

最后更新:2026-10-09

Null(空值)

Null表示字段值为空,与字段不存在(missing)是两种不同状态。查询`{ field: null }`会同时匹配值为null和字段不存在的文档;要区分必须组合`$exists`。建议应用层用null表示「已设值为空」,字段缺失表示「从未设置」。

分类BSON 类型
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ field: null }
db.users.find({ field: null })
db.users.find({ field: { $eq: null, $exists: true } })

返回值:空值本身;查询时返回匹配文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// Null:空值与缺失字段的区分
use shop
db.users.find({ phone: null })
db.users.find({ phone: { $eq: null, $exists: true } })

运行结果:

// 第一条返回phone为空或缺失的用户;第二条仅返回phone为null的用户

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q查询null会返回字段不存在的文档吗?
A会。{ field: null }匹配值为null和字段缺失两类文档。
Qnull和空字符串''一样吗?
A不一样。''是字符串值,null是空值,两者查询互不匹配。
Q怎么只查字段为null的文档?
A用{ field: { $eq: null, $exists: true } },$exists排除缺失字段。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏