【问题标题】:How can I get last 50 documents in mongoDB? [duplicate]如何在 mongoDB 中获取最后 50 个文档? [复制]
【发布时间】:2011-12-05 00:14:54
【问题描述】:

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

我有一个由

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

来自这个“收藏”

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

我知道我可以使用

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

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

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

【问题讨论】:

标签: mongodb lastinsertid


【解决方案1】:

这应该做的事情:

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

【讨论】:

    【解决方案2】:

    可以使用此查询查看最近添加的 N 条记录,从最近到最近:

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

    你的情况是 50

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

    【讨论】:

      【解决方案3】:

      您需要 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 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-11
        • 2018-05-26
        • 1970-01-01
        • 2020-03-08
        • 2020-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多