如何使用Java从mongodb获取最后插入的N条记录?

时间:2015-07-22 21:23:13

标签: java mongodb collections

使用mongodb脚本有类似的帖子 mongodb: how to get the last N records?

如何通过Java获取最后插入的集合文档来实现相同的目标? 为了以防万一,我使用的是第三版mongodb Java驱动程序,我在pom.xml中的mongodb依赖项如下:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.0.2</version>
</dependency>   
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>bson</artifactId>
    <version>3.0.2</version>
</dependency>

2 个答案:

答案 0 :(得分:2)

使用.limit()

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

或者如果你想排序然后获得最后的记录,那么你可以做

db.foo.find().sort({_id:1}).limit(50);  and -1 for descending.

答案 1 :(得分:1)

这是MongoDB版本3中的新语法,因此我无法使用建议的答案。所以工作代码如下:

MongoCollection<Document> coll = db.getCollection(<collectionName>);

FindIterable<Document> currentVersionDocumentIterable =   
    coll.find().sort(new Document("_id", -1)).limit(50);

内部排序需要插入“新文档”