Le .distinct()
La méthode est une implémentation plus ancienne qui est davantage une méthode pratique enveloppant mapReduce. Pour tout ce qui implique plus que des opérations simples, vous devez utiliser .aggregate()
.
Donc l'équivalent shell :
db.collection.aggregate([
{ "$match": { "$and": [ { "prop1": "" }, { "prop2": "" } ] } },
{ "$group": { "_id": "$messageId" } }
])
Les documents sont simplement formés comme une chaîne de documents BSON. Il existe différents exemples ici .