у меня есть схема, которая выглядит следующим образом:мангуст условно Заселите на поддокументе
var UserSchema = new Schema({
name : { type: String, required: true },
email : { type: String, lowercase: true },
fences : [{type: Schema.Types.ObjectId, ref: 'Group'}]
});
var GroupMemberSchema = new Schema({
user : { type: Schema.Types.ObjectId, ref: 'User', required: true },
status : { type: String, default : 'Invited' }
});
var GroupSchema = new Schema({
name : String,
members : [GroupMemberSchema],
type : String
});
Группа пользователя и экспортируются в своих собственных коллекций. У меня есть конечная точка api/users/me, в которой я хочу получить своего пользователя и всех моих групп. Внутри группы я хочу заполнять пользователей своих членов. Я это работает должным образом с этим кодом:
User.findOne({
_id: userId
})
.populate('groups')
.exec(function(err, user) {
if (err) return next(err);
if (!user) return res.json(401);
var options = {
path: 'groups.members.user',
model: 'User'
};
User.populate(user, options, function (err, user) {
return res.json(user);
});
});
Однако, я не хочу, чтобы заполнить связанный пользователя каждого члена IF тип группы == «Special». Как я могу использовать варианты?