2017-02-15 3 views
0

Ich habe ein Array von Objekt player_of_day inwhich es gibt wieder Array von User-Ids heißt nominate_by ich ein Objekt mit einer maximalen Zählung finden möchten. Etwas wie- ein Objekt aus player_of_day deren Zählung maximalMongoDB Abfrage bestimmtes Objekt in verschachtelte Array zu finden

"player_of_day" : [ 
     { 
      "nominate_by" : [ 
       ObjectId("58994bca4187b412aec50c94"), 
       ObjectId("58994a124187b412aec50c91"), 
       ObjectId("589955d54187b412aec50c99") 
      ], 
      "nominate_to" : ObjectId("58994b374187b412aec50c93"), 
      "count" : 3 
     }, 
     { 
      "nominate_by" : [ 
       ObjectId("58994c254187b412aec50c95"), 
       ObjectId("58994ad04187b412aec50c92") 
      ], 
      "nominate_to" : ObjectId("58994a124187b412aec50c91"), 
      "count" : 2 
     }, 
     { 
      "nominate_by" : [ 
       ObjectId("58994b374187b412aec50c93") 
      ], 
      "nominate_to" : ObjectId("58994c254187b412aec50c95"), 
      "count" : 1 
     } 
    ], 
+0

verwenden können, welches Ergebnis erwarten Sie, können Sie einige Beispiele zeigen –

+0

Ich möchte nur einen Datensatz aus player_of_day wessen Zählung ist Maximum – Rupali

+0

Für zB: -in oben z. B. max count ist 3 so, in Ergebnis möchte ich: - "nominate_by": [ ObjectId ("58994bca4187b412aec50c94"), ObjectId ("58994 a124187b412aec50c91 "), ObjectId (" 589955d54187b412aec50c99 ") ], "nominate_to": ObjectId (" 58994b374187b412aec50c93"), "count": 3 – Rupali

Antwort

0

Sie $unwind

db.match.aggregate([{"$unwind":"$player_of_day"},{"$sort":{'player_of_day.count':-1}},{"$limit":1}]); 
+0

@ Rama-tx für Ihre Hilfe .... kann ich nur ** "nominate_to" ** als Ausgabe, deren Anzahl ist maximal in diesem Datensatz – Rupali

+0

$ Projekt hilft auf dieser db.match.aggregate ([{"$ abwickeln ":" $ player_of_day "}, {" $ sort ": {'player_of_day.count': - 1}}, {" $ limit ": 1}, {" $ project ": {" player_of_day.nominate_to ": 1} }]); –

+0

Ich habe this-db.matches.aggregate ([{"$ abwickeln": "$ player_of_day"}, {"$ sort": {'player_of_day.count': - 1}}, {"$ limit": 1 }, {"$ Project": {"player_ of_day.nominate_to": 1}}]); – Rupali

Verwandte Themen