3

我有大量的文件。我想获得其中的前 100 个。来自 Monk Docs,这是我正在使用的查找方法

var documents = [];
users.find({}, function (err, docs){
  for(i=0;i<100;i++)
     documents.push(docs[i]);
});

这是非常浪费的,因为无论如何都要检索整个文档。我想要这样的东西(来自 mongodb 文档)

docs =  db.users.find().limit( 100 );

我试过和尚,

users.find({}, function (err, docs){
  for(i=0;i<docs.length;i++)
     documents.push(docs[i]);
}).limit(100);

但它给出了一个错误,指出在它之前返回的“promise”对象中没有函数限制。

Monk中是否有这样的选项来限制文档的数量?

4

2 回答 2

3

是的,您可以在第二个参数中将其作为选项传递:

users.find({}, { limit : 100 }, function (err, docs){
  for(i=0;i<docs.length;i++)
     documents.push(docs[i]);
});

这来自本机节点 mongodb 驱动程序,该驱动程序通过 mongoskin 封装:

http://mongodb.github.io/node-mongodb-native/markdown-docs/queries.html#query-options

于 2014-08-11T20:38:23.563 回答
2

您可以将options对象作为第二个参数传递给.find()

users.find({}, {limit: 100}, next);
于 2014-08-11T20:38:14.540 回答