$ne(不等于)

最后更新:2026-10-09

$ne(不等于)

$ne 选择字段值不等于指定值的文档,是 $eq 的否定形式。`{ age: { $ne: 18 } }` 匹配 age 不是 18 的所有文档。注意:与 $eq 一样对类型敏感,且**不匹配字段缺失的文档**——这与直觉相反。

分类比较
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ <字段>: { $ne: <值> } }

⚙️ 参数

字段要匹配的文档字段名。
值要排除的值。

返回值:匹配的文档游标

▶ 示例

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

// $ne:排除 age 为 18 的文档
db.users.find({ age: { $ne: 18 } })

运行结果:

// 返回所有 age 不是 18 的文档(字段缺失者不返回)

📌 注意事项

📚 相关教程

❓ 常见问题

Q$ne 会匹配字段不存在的文档吗?
A不会。$ne 只匹配字段存在且值不等于给定值的文档。若要包含缺失字段,需额外加 $exists: true。
Q$ne 和 $not: { $eq: ... } 有区别吗?
A对普通字段两者结果相同。区别在数组字段:$ne 匹配任一元素不等于该值,而 $not: { $eq } 要求没有任何元素等于该值,语义更严格。
Q$ne 能匹配 null 吗?
A能。$ne: null 会排除值为 null 的文档,但注意字段缺失的文档会被视为不等于 null 而匹配,需要时配合 $exists 限定。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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