我的数据库中有一个这样的索引(用于我的表条目):{"created_at": -1, "search_id": 1, "services":1}
如果我像这样在 Mongo 控制台中执行搜索,我可以使用该索引:
db.entries.find({'search_id':1, 'services':2}).sort({'created_at':
-1})
(如果我对该查询执行解释(),我可以看到它正在使用索引)。
但是我不能用 MongoMapper 复制这种行为。我试过这样的搜索:
Entry.where(:search_id => 1, :services => 2).order(['created_at',
'descending'])
我已经更改了顺序并尝试了一切,但是当我对其进行解释时,我发现它使用的是 BasicCursor (即没有索引),如果我对该查询执行“条件”,我可以看到它甚至不是尝试在搜索中对结果进行排序:我想一旦结果返回,它们就会被排序。
有没有办法更精确地控制查询,以便在这种情况下使用索引?