$ne(不相等)
最后更新:2026-10-09
$ne(不相等)
$ne是表达式版的不相等比较,接受两个参数,两者不相等时返回true。常用于排除特定值、查找差异数据等场景,例如找出状态不是已关闭的订单。表达式语法{ $ne: [expr1, expr2] }与查询操作符不同。注意null与null比较返回false(相等),表达式里缺失字段按null参与比较,这与查询中$ne把缺失字段视为null的行为不同。
| 分类 | 集合·条件·转换 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $ne: [ <表达式1>, <表达式2> ] }
⚙️ 参数
| 表达式1 | 参与比较的第一个表达式。 |
|---|---|
| 表达式2 | 参与比较的第二个表达式。 |
返回值:两个值不相等返回true,相等返回false
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $ne:找出状态非已关闭的订单
db.orders.aggregate([
{ $project: {
active: { $ne: ['$status', 'closed'] }
} }
])
运行结果:
{ '_id': 1, 'active': true }
{ '_id': 2, 'active': false }
📌 注意事项
- null与null比较返回false
- 表达式里缺失字段按null参与比较
- 与$eq互为反操作
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q$ne与$eq的关系?
A互为反操作,$ne等于$eq结果取反。
Q$ne对null返回什么?
Anull与null相等返回false;null与其他值不相等返回true。
Q$ne能过滤缺失字段吗?
A表达式里缺失字段视为null,若比较对象非null则返回true。