MongoDB在嵌入式文档中使用索引

问题描述:

的最佳优化在MondoDB中,如果您需要查询嵌入式文档,如何使用索引在嵌入式文档中更好地优化集合?MongoDB在嵌入式文档中使用索引

例如,在以下格式的集合:

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

谢谢

对于给定的查询建议数3

db.collection.createIndex({ “address.city”:1, “address.street”:1})由于有逻辑

将做的工作关系城市=>街道

如果您需要更精确地输出mongo如何使用索引并执行您自己的测试,请使用query.explain(“executionStats”)查看索引使用情况。

more here

+0

谢谢profesor。我原以为第一种选择也会达到同样的效果。我会用“executionStats”做一些测试。感谢您的链接 – Selrac