2016-07-28 7 views
0

У меня есть функция, как этотНайти, где отношение не равно нулю [Mongoose]

recommendModel.find({ 
     userId: userId 
    }) 
      .populate('recommendedBy',null,{role: '4edd40c86762e0fb12000002'}) 
      .exec(function....); 

Эта часть role: '4edd40c86762e0fb12000002'} если внутри recommendedBy никакой роли, как этот 4edd40c86762e0fb12000002 он будет возвращать нуль, как это:

{ 
     "_id": "579a1600ce5b012224ba0d36", 
     "recommendedBy": null, 
     "userId": "5798a398e7dc3b242e1f38a5", 
     "__v": 0 
    } 

мне нужно если recommendedBy имеет значение null, чтобы не показывать запись, возможно ли это?

Заранее спасибо

ответ

0

На запросе добавить .where('recommendedBy').ne(null). Это скажет запрос (в вашем случае find()) find() все соответствующие документы «где» recommendedBy «is-not-equal-to» null.

BTW .ne() означает не равный.

Так что в вашем случае:

recommendModel.find({userId: userId}) 
    .where('recommendedBy').ne(null) 
    .populate(...) // do your population 
    .exec(...); // exec