De .distinct()
methode is een oudere implementatie die meer een gemaksmethode is om mapReduce in te pakken. Voor alles wat meer betrokken is dan simpele handelingen, moet je .aggregate()
.
Dus het shell-equivalent:
db.collection.aggregate([
{ "$match": { "$and": [ { "prop1": "" }, { "prop2": "" } ] } },
{ "$group": { "_id": "$messageId" } }
])
De documenten zijn gewoon gevormd als een keten van BSON-documenten. Er zijn verschillende voorbeelden hier .