我知道我可以用$in在一个特定字段上搜索多个值。例如,如果我有这样的数组:
[1, 2, 2, 2, 3, 4]假设这就是我们要查询的ID。
我的问题是,mongodb是否为每个元素查询6次,还是mongodb有一些内置的记忆化,所以它只查询4次,因为2在这里查询了3次,所以再次查询它是不安全的。
发布于 2020-05-23 07:26:04
explain帮助程序可以清楚地说明这一点:
PRIMARY> db.collection.explain().find({a:{$in:[1, 2, 2, 2, 3, 4]}}).next().queryPlanner
{
"plannerVersion" : 1,
"namespace" : "test.collection",
"indexFilterSet" : false,
"parsedQuery" : {
"a" : {
"$in" : [
1,
2,
3,
4
]
}
},
"winningPlan" : {
"stage" : "EOF"
},
"rejectedPlans" : [ ]
}https://stackoverflow.com/questions/61961704
复制相似问题