[英]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.