我有这样的数据
{
"UID": "a24asdb34-asd42ljdf-ikloewqr",
"createdById" : 1,
"name" : "name1",
"createDate" : 01.14.2019,
"latest" : 369
},
{
"UID": "a24asdb34-asd42ljdf-ikloewqr",
"createdById" : 1,
"name" : "name2",
"createDate" : 01.14.2019
"latest": 395
},
{
"UID": "a24asdb34-asd42ljdf-ikloewqr",
"createdById" : 1,
"name" : "name3",
"createDate" : 01.14.2019,
"latest" : 450
}
我需要查询,该查询选择字段 latest 比另一个文档元素中的该字段最大的一个文档元素
Java代码
@Query(value ="[ {$sort : {latest: -1}},{$limit : 1} ]",fields = "{ 'UID' : 1, 'name' : 1, createDate : 1}")
Page<MyObject> findByCreatedById(String userId, Pageable pageable);
答案 0 :(得分:1)
db.orders.find(
[
{ $sort: { latest: -1 } },
{ $limit: 1 }
]
)
以最新字段的降序排列,并将结果大小限制为1。