【发布时间】: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