MongoDB聚合查询语法错误排查:为何$or运算符不被识别?
问题分析与修正
- 语法错误原因:$or是MongoDB的顶级逻辑运算符,不能嵌套在单个字段的条件对象里。你当前写法把$or放在了"a.b"的条件值中,MongoDB无法识别这种用法。
- 正确写法示例:
如果只是要匹配"a.b"等于2或3,更简洁的写法可以用$in:db.getCollection("col").aggregate([ { $match: { $or: [ { "a.b": 2 }, { "a.b": 3 } ] } }, ])db.getCollection("col").aggregate([ { $match: { "a.b": { $in: [2, 3] } } }, ])
内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture
相关产品推荐
相关产品推荐

