如何在Mongodb的某个字段中检索具有最大值的文档

时间:2014-08-11 10:57:17

标签: java mongodb spring-data-mongodb

有谁能告诉我如何在其中一个字段中检索具有最大值的文档Mongo Db.Using mongoTemplate Class

这是一个例子

{
    "_id" : "post 1",
    "author" : "Bob",
    "content" : "...",
    "page_views" : 5
}
{
    "_id" : "post 2",
    "author" : "Bob",
    "content" : "...",
    "page_views" : 9
}
{
    "_id" : "post 3",
    "author" : "Bob",
    "content" : "...",
    "page_views" : 8
}

所以我想要跟随结果

{
    "_id" : "post 2",
    "author" : "Bob",
    "content" : "...",
    "page_views" : 9
}

包含max page_views的记录

1 个答案:

答案 0 :(得分:5)

这将是您的mongoDB查询,我希望您可以在您的驱动程序中实现它

db.<collection name>.find({}).sort({'page_views':-1}).limit(1);

您将获得一个包含所请求文档的长度为1的数组。 -1表示按降序排序。 limit(1)将文档数限制为1.因此,您将获得包含page_views最高编号的文档。