2015-06-26 62 views
0

我試圖從結構查找文檔貓鼬的價值由鍵值對數組找到

"brandcredits": [ 
     { 
      "brand_id": "5586da128a60ebcb7abeb732", 
      "brand_credits": 123, 
      "_id": "558ce2af106319b412e48b6c" 
     }, 
     { 
      "brand_id": "5586da238a60ebcb7abeb733", 
      "brand_credits": 500, 
      "_id": "558ce2af106319b412e48b6b" 
     }, 
     { 
      "brand_id": "558b382e7881f424154d6c27", 
      "brand_credits": 500, 
      "_id": "558ce2af106319b412e48b6a" 
     }, 
     { 
      "brand_id": "558b38467881f424154d6c28", 
      "brand_credits": 500, 
      "_id": "558ce2af106319b412e48b69" 
     }, 
     { 
      "brand_id": "558b38687881f424154d6c29", 
      "brand_credits": 245, 
      "_id": "558ce2af106319b412e48b68" 
     } 
    ] 

我的貓鼬查詢

BrandInfo.find({'_id':{$in: user[0].brandcredits.brand_id}},function(err,active){ 
      console.log(active); 
}); 

它返回未定義

我需要使用brand_id數組查詢模式。 我該怎麼做? 任何幫助將不勝感激。 感謝

回答

0

你正在做什麼user[0].brandcredits.brand_id正在搜索_id不工作,甚至很有道理,因爲user[0].brandcredits.brand_id本身只是另一個對象ID。

你需要尋找的是:brand_iduser[0].brandcredits

那麼試試這個:

BrandInfo.find({ 'brand_id': {$in: user[0].brandcredits} } , function(err, active){ 
    console.log(active); 
});