OR +的复合索引在mongodb中排序查询

时间:2011-07-18 13:17:04

标签: mongodb

对于此OR查询:

db.messages.find({ $or: [ { to: { $ne: null }, from: "xyz" }, { to: "xyz" } ] }).sort({_id: -1}).limit(50)

以下索引:

{to:1, from: 1, _id:-1} and {from:1, to:1, _id:-1}

mongo总是在进行全面扫描。

我希望mongo可以使用这两个索引并合并结果。

我是否需要将其拆分为两个查询(每个OR子句一个)并自行合并?或者是否有其他指数可以提供帮助?

1 个答案:

答案 0 :(得分:4)

这是一个已知问题https://jira.mongodb.org/browse/SERVER-1205,如果它对您的用例非常重要,您可以投票。