【问题标题】:MongoDB best optimisation on embedded documents using indexMongoDB 使用索引对嵌入式文档进行最佳优化
【发布时间】:2016-10-07 21:52:00
【问题描述】:

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

谢谢

【问题讨论】:

    标签: mongodb optimization indexing


    【解决方案1】:

    对于给定的查询建议编号 3

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

    将完成这项工作,因为有逻辑关系 city=> street

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

    more here

    【讨论】:

    • 谢谢教授。我原以为第一个选项也能达到同样的效果。我会用“executionStats”做一些测试。感谢您的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2012-09-03
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多