MongoDB: $or 操作错误

MongoDB: $or operator error

我正在尝试使用 $or 运算符,但它是 returns 错误。

我的代码:

{db.hw1_1.find( { "name": { $in: ["kamatchi","kamala"] } } )

正在返回答案。但是这个查询返回错误。

{db.hw1_1.find( { "name": { $or: ["kamatchi","kamala"] } } )

Returns:

error: {
 $err: "can't canonicalize query: BadValue unknown operator: $or   ",
"code" : 1787
}

$in 运算符基本上是一个 条件,但只是以一种特殊的方式。因此,您可以将它用作一种简短形式,以某种类型的对象或正则表达式的形式测试值列表。

另一方面,$or 更简洁,因此这与 $in 查询相同

db.hw1_1.find({ $or: [{ "name": "kamatchi" }, { "name": "kamala"} ] } )

所以 $in 最好针对单个键测试多个值。将 $or 视为单独处理的 "list of queries",并且只需要满足其中一个查询。