15

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

我有一个收藏品,由

db.createCollection("collection",{capped:true, size:300000});

从这个“集合”

我想要最后 50 个文档而不是前 50 个文档。

我知道我可以通过使用获得前 50 个文档

db.collection.find().limit(50);

但是我怎样才能得到最后 50 个文件呢?

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

4

3 回答 3

22

这应该做的事情:

db.collection.find().sort({$natural: -1}).limit(50);
于 2014-01-09T15:50:20.350 回答
1

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

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

在你的情况下 50

db.collection.find().skip(db.collection.count() - 50)
于 2018-04-26T10:30:12.420 回答
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 
于 2018-12-14T10:01:12.300 回答