使用索引

时间:2016-06-07 20:31:10

标签: mongodb optimization indexing

在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})

由于

1 个答案:

答案 0 :(得分:1)

针对给定的查询提案编号3

  

db.collection.createIndex({" address.city":1," address.street":1})

将完成工作,因为存在逻辑关系city =>街

如果您需要获得更精确的输出mongo如何使用索引并执行您自己的测试使用query.explain(" executionStats")来查看索引使用情况。

more here