1

我需要实现一个 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()

但这显然行不通。

4

0 回答 0