Для этого запроса ИЛИ:
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}
Монго всегда выполняет полное сканирование.
Я надеялся, что Монго сможетиспользуйте эти два индекса и объедините результаты.
Нужно ли разделить это на два запроса (по одному для каждого предложения OR) и объединить себя?Или есть другой индекс, который может помочь?