我正在尝试查找数组大小等于字段值的所有文档。例如:
应找到此文档:
{
arr: ["one", "two", "three"],
expected: 3
}
但不是这个:
{
arr: ["one", "two", "three", "four"],
expected: 2
}
我假设我必须使用某种形式的聚合,所以我决定使用$expr
:
$expr: { $eq: [{ $size: "$arr" }, { ??? }] }
答案 0 :(得分:1)
与在arr
字段中使用$
符号一样,您必须在expected
字段中使用
db.collection.find({ "$expr": { "$eq": [{ "$size": "$arr" }, "$expected"] })