猫鼬排除字段

时间:2015-05-14 14:08:14

标签: node.js mongodb mongoose

使用mongoose可以在没有选择链接的情况下填充时排除字段吗?

在这种情况下,我需要省略作者电子邮件和散列密码:

.populate(ratings, { path: 'reviews.author', model: 'User' }, function(err, ratings) {
    ...    
});

2 个答案:

答案 0 :(得分:2)

尝试以下方法;

Model.find(...)
     .populate({
          path: 'reviews.author',
          model: 'User',
          select: '-email -password'
     })
     .exec(callback);

这将排除emailpassword字段。

答案 1 :(得分:1)

在填充选项中使用select属性:。

例如,如果您的用户具有nameemail属性,则可以选择以下内容:

.populate(ratings, { path: 'reviews.author', model: 'User', select: 'name email' }, function(err, ratings) {
    ...    
});