在给定要搜索的元素数组的情况下,努力获取上次检索到的文章的有序结果

时间:2013-09-27 18:25:07

标签: mongodb mongodb-query

我有一组具有如下结构的对象:

{
    "_id" : ObjectId("5233a700bc7b9f31580a9de0"),
    "id" : "3df7ce4cc2586c37607a8266093617da",
    "published_at" : ISODate("2013-09-13T23:59:59Z"),
    ...
    "topic_id" : [
        284,
        9741
    ],
    ...
    "date" : NumberLong("1379116800055")
}

我正在尝试使用以下查询:

db.collection.find({"topic_id": { $in: [ 9723, 9953, 9558, 9982, 9833, 301, ... 9356, 9990, 9497, 9724] }, "date": { $gte: 1378944001000, $lte: 1378954799000 }, "_id": { $gt: ObjectId('523104ddbc7b9f023700193c') }}).sort({ "_id": 1 }).limit(1000)

上述查询使用topic_id, date索引,但它不保留返回结果的顺序。

强制它使用hint({_id:1})会使结果排序,但nscanned是100万个文档,即使指定了limit(1000)

我错过了什么?

0 个答案:

没有答案