MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

distinct avec plusieurs champs et avec condition where dans mongodb

Vous devrez utiliser le aggregate requêtes pour y parvenir. Voici un exemple qui fonctionnera en shell (qui peut être facilement traduit en Mongoose) :

db.gpc.aggregate([
    // your where clause: note="test2" and notetwo = "meet2"
    {"$match" : {note:"test2", notetwo:"meet2"}}, 
    // group by key, score to get distinct
    {"$group" : {_id : {key:"$key", score:"$score"}}}, 
    // Clean up the output
    {"$project" : {_id:0, key:"$_id.key", score:"$_id.score"}}
])

Sortie :

{ "result" : [ { "key" : "SAGAR33", "score" : 37 } ], "ok" : 1 }