Мне нужно реализовать запрос Монго, который формирует 2 группы в зависимости от того, является ли avatarUrl
ненулевым, и затем сортирует эти группы по 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,
}
Как видите, он разбит на две группы, и каждая группа отсортирована в алфавитном порядке.
Есть ли способ сделать это с помощью одного монго-запроса?
Я пытался использовать это:
getCollection().find().sort({ "lastName": 1, "avatarUrl": -1}).toList()
Но это явно не работает.