方法1
db.getCollection('testColl').find({
"car": {
"$elemMatch": {
"brand": {
"$in": [
"bmw","audi"
]
}
}
}
})
方法2
db.getCollection('testColl').find({
"car.brand" :{$in : ["bmw","audi"]}
两者都返回相同的结果,但是我想知道哪种方法将有效使用(数据大约为5000万)。 还可以解释一下原因。谢谢!
答案 0 :(得分:1)
如何通过3个快速步骤来query performance
:
第1步:运行带有解释的查询:
db.getCollection('testColl').find({
"car": {
"$elemMatch": {
"brand": {
"$in": [
"bmw","audi"
]
}
}
}
}).explain({verbose: true})
和
db.getCollection('testColl').find({
"car.brand" :{$in : ["bmw","audi"]}).explain({verbose: true})
第3步:阅读每种方法,以了解为什么结果准确无误