Ja det är möjligt, men ta det på ett annat sätt. Jag tillhandahåller bara mina egna uppgifter för detta, men du kommer att förstå konceptet.
Mitt exempel:
{ "array" : [ 2, 4, 3, 5, 2, 6, 8, 1, 2, 1, 3, 5, 9, 5 ] }
Jag kommer att "semicitera" CTO om detta och konstatera att Set anses vara oordnade .
Det finns ett verkligt uttalande från JIRA, Google-grupper som är ungefär så. Så låt oss ta det från "Elliot" och acceptera att detta kommer vara fallet.
Så om du vill ha ett ordnat resultat måste du massera på det sättet med sådana här stadier
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" }}}
])
Och sedan göra vad som helst. Men nu är din array sorterad.