繁体   English   中英

Node.js / MongoDB限制返回更多记录

[英]Node.js/MongoDB limit returns more records

我已经搜索过,但是找不到任何答案。 虽然不规则不是问题,但我更奇怪为什么会这样。

当我对一个带有100k条记录的集合进行相当简单的查找时,该记录的限制是100或200以上的任意数字,下面代码片段中的console.log总是报告返回的更多记录。

    var collection = db.collection('mycoll');

    collection.find({}).sort({created_date: -1}).limit(500).toArray(function (err, docs) {
        if (err) {
            throw err;
        }

        db.close();

        console.log(docs.length);
    });

限制为500,它返回590或591,有什么想法吗?

编辑:问题似乎与这段代码有关-https: //github.com/mongodb/node-mongodb-native/blob/2.0/lib/cursor.js#L596

跳过和限制选项作为find()方法的第二个参数包含在内。 (未测试)

您可以尝试以下方法:

collection.find({}, {sort: {created_date: -1}, limit: 500});

编辑

您可以先按asc顺序使用created_date仅尝试此(限制)吗? 适用于mongo节点驱动程序1.4

var options = {
  "limit": 20,
  "sort":"created_date"
};

collection.find({},options).toArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM