Sim, é possível, mas abordá-lo de forma diferente. Estou apenas fornecendo meus próprios dados para isso, mas você entenderá o conceito.
Minha amostra:
{ "array" : [ 2, 4, 3, 5, 2, 6, 8, 1, 2, 1, 3, 5, 9, 5 ] }
Vou "semi-citar" o CTO sobre isso e afirmar que Sets são considerados não ordenados .
Existe uma declaração real do JIRA, do Google groups, que é algo assim. Então vamos pegar em "Elliot" e aceitar que isso vai Seja o caso.
Então se você quer um resultado ordenado, você tem que massagear dessa forma com etapas como essa
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" }}}
])
E então faça o que for. Mas agora sua matriz está classificada.