在MondoDB中,如果需要查询嵌入文档,如何使用索引优化嵌入文档的集合?
例如,在具有以下格式的集合中:
{
name: “Andy”,
address: {
city: “London”,
street: “Sunny St.”
}
}
如果我们需要查询:
db.collection.find( {$and: [ {"address.city ": “London”}, {"address”: “Sunny St."} ] } )
哪种类型的索引会更好:
1. db.collection.createIndex({"address":1})
2. db.collection.createIndex({"address.city ":1})
db.collection.createIndex({"address.street":1})
3. db.collection.createIndex({"address.city ":1, "address.street":1})
由于
答案 0 :(得分:1)
针对给定的查询提案编号3
db.collection.createIndex({" address.city":1," address.street":1})
将完成工作,因为存在逻辑关系city =>街
如果您需要获得更精确的输出mongo如何使用索引并执行您自己的测试使用query.explain(" executionStats")来查看索引使用情况。