Node.js / MongoDB限制返回更多logging

我已经搜查,但我找不到任何答案。 虽然不规范不是问题,但我更加好奇它为什么会发生。

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

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

skip()和limit选项作为find()方法的第二个参数。 (未testing)

你可以试试以下内容:

 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();