Możesz projektować każdy z hosting
na osobny typ oznaczony liczbami całkowitymi, a na koniec posortuj według tych liczb całkowitych. Zilustrowane w potoku agregacji poniżej
[
{$lookup: {
from: 'secondCollectionStoringQuality',
localField: 'hosting',
foreignField: 'hostings',
as: 'nw'
}},
{$unwind: '$nw'},
{$project: {
domainName: 1,
hosting: 1,
type: {
$cond: [
{$eq: ['$nw.quality', 'best']},
0,
{$cond: [
{$eq: ['$nw.quality', 'good']},
1,
2
]}
]
}
}},
{$sort: {type: 1}}
]