如何在mongoDB中获取最后50个文档?

时间:2011-10-11 04:52:38

标签: mongodb lastinsertid

如何在mongoDB中获取最近50个文档?

我有一个由

制作的集合
db.createCollection("collection",{capped:true, size:300000});

来自这个“集合”

我想拥有最后50份文件而不是前50份文件。

我知道我可以使用

获得前50个文档
db.collection.find().limit(50);

但我怎样才能获得最近50份文件?

这可以通过MongoDB API简单地完成,还是应该通过编程来实现?

3 个答案:

答案 0 :(得分:22)

这应该做的事情:

db.collection.find().sort({$natural: -1}).limit(50);

答案 1 :(得分:1)

最近N个添加的记录,从最近到最近,可以通过此查询看到:

db.collection.find().skip(db.collection.count() - N)

在你的情况下50

db.collection.find().skip(db.collection.count() - 50)

答案 2 :(得分:0)

您需要mongo集合中的最后50个文档,所以这是查询

db.collection('collectionName').find().sort({$natural: -1}).limit(50);

// sort({$natural: -1}) for the last fields (desecnding)
// limit(50) because you need only 50 fields