2015-06-26 2 views
0

Я пытаюсь найти документ из структурыMongoose найти по значению в массиве ключевых пар значений

"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

Что вы делаете ищет _id в user[0].brandcredits.brand_id, который не работает, или даже имеет смысл, потому что сама user[0].brandcredits.brand_id это просто еще один ObjectID.

Что вам нужно искать для является: brand_idвuser[0].brandcredits

Так попробуйте это:

BrandInfo.find({ 'brand_id': {$in: user[0].brandcredits} } , function(err, active){ 
    console.log(active); 
}); 
Смежные вопросы