【问题标题】:Mongodb - Multi-key index on array of sub documents produces strange explain planMongodb - 子文档数组上的多键索引产生奇怪的解释计划
【发布时间】:2017-02-05 17:01:15
【问题描述】:

如果我插入以下文档:

db.test.insertOne({ main_data : 100, sub_docs: [{ data : 22 },{ data : 859 },{ data: 151 }]}  

并使用以下方法在其上创建索引:

db.test.createIndex({"sub_docs.data" : 1})

当我执行查询以尝试匹配数据时:

db.test.find({ sub_docs: { $elemMatch: { data: { $gte: 110, $lt: 160 }}}})

为什么解释计划显示索引从 inf.0 或 -inf.0 开始直到 $elemMatch 的边界之一?例如:

"indexBounds" : {
    "sub_docs.data" : [
        "[110.0, inf.0]"
    ]
}

为什么边界不是“[110.0, 160.0]”?

【问题讨论】:

    标签: mongodb indexing mongodb-query


    【解决方案1】:

    这在 MongoDB 3.4 中已修复:

    https://jira.mongodb.org/browse/SERVER-15086

    【讨论】:

      猜你喜欢
      • 2018-10-27
      • 2015-03-26
      • 2017-01-11
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 2012-11-14
      • 2018-05-06
      • 1970-01-01
      相关资源
      最近更新 更多