0

正如我的问题所暗示的,我想限制在这样find()的集合上调用函数时显示的文档数量:

exports.findAll = function(req, res) {
db.collection('temp', function(err, collection) {
        collection.find().toArray(function(err, items) {
            res.send(items);
        });
    });
};

上面的代码将显示临时集合中存在的所有文档。但是有没有办法可以将显示的文档数量限制为 10?我想发送最后十份文件(我的意思是最近添加的文件)

我真的很感激任何建议。

提前非常感谢。

4

1 回答 1

2

find() 方法返回一个数据库游标。数据库游标有一个limit(n)方法,它返回另一个仅迭代前 n 个文档的数据库游标。因此,您只需将第 3 行替换为:

collection.find().limit(10).toArray(function(err, items) {

请注意,无法确定这 10 个文档将被任何可预测的优先级选中。通常是插入顺序,但这不能保证。所以你应该在前面limit(n)加上适当的.sort(your_sort_criterias).

于 2012-12-30T18:52:50.100 回答