我需要实现一个mongo查询,该查询根据avatarUrl
是否为非null形成2个组,然后按lastName
对这些组进行排序。
以下是集合的外观:
{
"lastName": "Bradley",
"avatarUrl": "http://...",
},
{
"lastName": "Bradley",
"avatarUrl": null,
},
{
"lastName": "Chateau",
"avatarUrl": null,
}
{
"lastName": "Ezekiel",
"avatarUrl": "http://...",
},
{
"lastName": "Zerox",
"avatarUrl": "http://...",
}
我需要此查询以返回以下列表:
{
"lastName": "Bradley",
"avatarUrl": "http://...",
},
{
"lastName": "Ezekiel",
"avatarUrl": "http://...",
},
{
"lastName": "Zerox",
"avatarUrl": "http://...",
}
{
"lastName": "Bradley",
"avatarUrl": null,
},
{
"lastName": "Chateau",
"avatarUrl": null,
}
如您所见,它分为两组,每组按字母顺序排序。
有没有一种方法可以使用单个mongo查询?
我尝试使用这个:
getCollection().find().sort({ "lastName": 1, "avatarUrl": -1}).toList()
但这显然行不通。