MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trier les données dans Mongo dans un ordre personnalisé

Vous pouvez projeter chacun des hosting en type séparé désigné par des nombres entiers, et enfin trier sur ces nombres entiers. Illustré dans le pipeline d'agrégation ci-dessous

[
{$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}}
]