如何在 mongoDB 中获取最后 50 个文档? [复制]
Posted
技术标签:
【中文标题】如何在 mongoDB 中获取最后 50 个文档? [复制]【英文标题】:How can I get last 50 documents in mongoDB? [duplicate] 【发布时间】: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 来完成,还是我应该通过编程来实现?
【问题讨论】:
***上还有一个相关问题:***.com/questions/4421207/…希望对你有帮助。 【参考方案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
【讨论】:
以上是关于如何在 mongoDB 中获取最后 50 个文档? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 MongoDB 集合中获取具有匹配键的最后 N 个元素
MongoDB:如何在 100 个集合中找到 10 个随机文档?