Oui, c'est possible, mais abordez-le différemment. Je fournis juste mes propres données pour cela, mais vous comprendrez le concept.
Mon échantillon :
{ "array" : [ 2, 4, 3, 5, 2, 6, 8, 1, 2, 1, 3, 5, 9, 5 ] }
Je vais "semi-citer" le CTO à ce sujet et déclarer que Sets sont considérés comme non ordonnés .
Il existe une véritable déclaration de groupes JIRA, Google qui ressemble à cela. Prenons donc "Elliot" et acceptons que cela va être le cas.
Donc, si vous voulez un résultat ordonné, vous devez masser de cette façon avec des étapes comme celle-ci
db.collection.aggregate([
// Initial unwind
{"$unwind": "$array"},
// Do your $addToSet part
{"$group": {"_id": null, "array": {"$addToSet": "$array" }}},
// Unwind it again
{"$unwind": "$array"},
// Sort how you want to
{"$sort": { "array": 1} },
// Use $push for a regular array
{"$group": { "_id": null, "array": {"$push": "$array" }}}
])
Et puis faire n'importe quoi. Mais maintenant votre tableau est trié.