我需要实现一个 mongo 查询,该查询形成 2 个组,具体取决于是否avatarUrl
为非 null,然后按 . 对这些组进行排序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()
但这显然行不通。