如何在其中一个字段Mongo Db中检索具有最大值的文档

Ram*_*far 3 java mongodb spring-data-mongodb

任何人都可以告诉我如何在其中一个字段Mongo Db中检索具有最大值的文档.使用mongoTemplate类

这是一个例子

{
    "_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
}
Run Code Online (Sandbox Code Playgroud)

所以我想要以下结果

{
    "_id" : "post 2",
    "author" : "Bob",
    "content" : "...",
    "page_views" : 9
}
Run Code Online (Sandbox Code Playgroud)

最大page_views的记录

ma0*_*a08 5

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

db.<collection name>.find({}).sort({'page_views':-1}).limit(1);
Run Code Online (Sandbox Code Playgroud)

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