找到关系不为空的地方[猫鼬]

时间:2016-07-28 18:23:55

标签: node.js mongodb mongoose

我有这样的功能

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

此部分role: '4edd40c86762e0fb12000002'}如果在recommendedBy内没有像此4edd40c86762e0fb12000002那样的角色,它将返回如下所示的null:

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

如果recommendedBy为空,我需要不显示记录,这可能吗?

提前致谢

1 个答案:

答案 0 :(得分: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