Il .distinct()
method è un'implementazione precedente che è più un metodo conveniente che avvolge mapReduce. Per tutto ciò che riguarda le semplici operazioni dovresti usare .aggregate()
.
Quindi l'equivalente della shell:
db.collection.aggregate([
{ "$match": { "$and": [ { "prop1": "" }, { "prop2": "" } ] } },
{ "$group": { "_id": "$messageId" } }
])
I documenti sono appena formati come una catena di documenti BSON. Ci sono vari esempi qui .