Sí, es posible, pero enfóquelo de manera diferente. Solo proporciono mis propios datos para esto, pero entenderás el concepto.
Mi muestra:
{ "array" : [ 2, 4, 3, 5, 2, 6, 8, 1, 2, 1, 3, 5, 9, 5 ] }
Voy a "semicitar" el CTO en esto y afirmar que Sets se consideran desordenados .
Hay una declaración real de JIRA, grupos de Google que dice algo así. Así que tomémoslo de "Elliot" y aceptemos que esta voluntad sea el caso.
Entonces, si desea un resultado ordenado, debe masajear de esa manera con etapas como esta
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" }}}
])
Y luego hacer lo que sea. Pero ahora su matriz está ordenada.