mongodb - mongodb中OR+Sort查询的复合索引

对于这个 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 子句一个)并自己合并?还是有其他索引可以提供帮助?

最佳答案

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

https://stackoverflow.com/questions/6733468/

相关文章:

python - Python中的跟踪系统和实时统计分析

mongodb - 命令以非零退出代码 : Error executing in Docker Co

mongodb - 在 MongoDB 中使用 directoryperdb 的好处

javascript - 查找和更新嵌套级别

python - Pymongo 断言错误 : ids don't match

mongodb安装 - 要求?

mongodb - 如何使用 map/reduce 处理 10000 多个唯一键以在 MongoDB

node.js - MongoDB 与 Docker "failed to connect to s

python - 如何使用 MongoKit 对远程数据库主机进行身份验证?

mongodb - 您将如何使用文档存储(例如 CouchDB、Redis、MongoDB、Riak