2016-06-10 242 views
0

我從MongoDB查詢得到以下結果。從mongoDB變量獲取值

var temp = db.player_level_data.aggregate([ 
      {$group:{_id:{team_name : "$team_name" , 
         team_id : "$team_id" , 
         team_code : "$team_code" } 
        } 
      } 
      ]) 

的結果如下: -

{ "_id" : { "team_name" : "XYZ", "team_id" : 1, "team_code" : 3 } } 
{ "_id" : { "team_name" : "ABC", "team_id" : 19, "team_code" : 35 } } 
{ "_id" : { "team_name" : "DEF", "team_id" : 2, "team_code" : 7 } } 
{ "_id" : { "team_name" : "IJK", "team_id" : 16, "team_code" : 56 } } 
{ "_id" : { "team_name" : "MNO", "team_id" : 15, "team_code" : 110 } } 
{ "_id" : { "team_name" : "QRS", "team_id" : 20, "team_code" : 21 } } 
{ "_id" : { "team_name" : "TUV", "team_id" : 18, "team_code" : 57 } } 

如上所述,將結果存儲在變量temp。如何訪問變量temp中的單個值。

它如何使用相應的team_name獲取team_code。如何從變量temp中使用team_name XYZ檢索team_code 3。

+0

你想使用一些查詢或運行查詢之後做到這一點? – Shrabanee

+0

運行查詢 – aman

回答

0

結果很簡單Javascript Array,不多不多,你必須循環它。

如果您希望MongoDb只選擇您想要的teamName,則可以使用$ match作爲下一個管道聚合。

+0

嗨@libik,我試着使用值作爲溫度[1],溫度[2] ..但似乎沒有工作..但我想念的東西.. – aman

+0

什麼意思「它沒有似乎工作「?它會返回不同的值嗎?它是否返回undefined?它會崩潰嗎? console.log(temp)或console.log(JSON.stringify(temp))的完整輸出是什麼? – libik

+0

嗨@libik,我用printjson(temp)給出了[object Object]的結果。 – aman

0

嘗試類似如下: -

db.player_level_data.aggregate([ 
     {$group:{_id:{team_name : "$team_name" , 
        team_id : "$team_id" , 
        team_code : "$team_code" } 
       } 
     } 
     ]).toArray(function(err, res) 
     { 
      var result = []; 
      for(var i in res) 
      { 
       result.push(temp[i]._id) 
      } 

     }) //Will now return array of objects 

現在,你可以得到你想要通過循環槽結果數組什麼都。

希望這會幫助你。