2014-12-12 6 views
-1

Я хочу получить status_code конкретного подколлекции документа, но я получаю undefined в консоли.Не удается прочитать данные из подмножества

Вот мой код:

router.route('/user/:_id/host/:_id/checkStatus/').post(function(req, res) { 
var finalList = []; 
Host.findOne({ 
    _id : req.params._id 
}, function(err, host) { 
    if (err) { 
     res.send(err); 
    } else { 
     var count = host.joinees.length; 
     var limits = []; 
     for (var i = 0; i < count; i++) { 
      limits.push(i); 
     } 
     async.eachSeries(limits, function(i, callback) { 
      var ID = host.joinees[i].userid; 
      console.log(ID); 
      console.log(req.body.userid); 
      if (ID === req.body.userid) { 
       finalList[0] = host.joinees[i].status_code; 
        console.log(finalList+"HHKHJKHKH"); 
      } 
      console.log(finalList+"aaaaaa"); 
      callback(); 
     }, function() { 
      console.log(finalList + '-------------'); 
      res.json({ 
       requestStatus : 1, 
       message : "success! Status Code Retrived", 
       joinRequestStatus : finalList 
      }); 
     }); 
    } 
}); 

});

+1

Вы успешно получаете каждую часть? Я имею в виду, что «хозяин» найден? Может быть, вы потерпите неудачу где-то на этом пути. – Pio

+0

@Pio: Я отлаживал, но, к сожалению, элемент управления не входит в оператор if. Я редактирую код. Пожалуйста, проверьте. –

+0

Но вы регистрируете 'ID' и' req.body.userid'? Или ничего не записывается/пустая строка (это означает, что вы ничего не нашли? Вы зарегистрировали 'host'? – Pio

ответ

0

Я думаю, что они не соответствуют в заявлении if, потому что они разных типов. Я предполагаю, что один из них - String (скорее всего, ваш результат запроса), а другой - Number.

Вы можете решить, что двумя способами: либо использовать только оператор равно значение (==) вместо равно значение оператора равно типа (===), или вы можете преобразовать результат запроса к Object, например, если вы используете mongoose вызов lean() на ваш объект запроса, а затем обработать результаты.

Смежные вопросы