У меня есть эта схема для пользователя:
const UserSchema = new Schema({
...
friends: [{
user: {
type: Schema.Types.ObjectId,
ref: 'users'
}
}],
sentRequests: [{
user: {
type: Schema.Types.ObjectId,
ref: 'users'
}
}],
recievedRequests: [{
user: {
type: Schema.Types.ObjectId,
ref: 'users'
}
}]
}
Затем при попытке показать все полученные запросы на странице я использую этот код:
router.get('/friendRequests', (req, res) => {
User.findOne({
_id: req.user.id
})
.populate('recievedRequests.user')
.then(curUser => {
res.render('friends/friendRequests', {
curUser: curUser
});
})
});
, где User
- модель, а req.user.id
- идентификатор текущего пользователя, вошедшего в систему. Однако на веб-странице, когда я ссылаюсь на curUser.recievedRequests.user
, он просто возвращает идентификатор пользователя, а не фактический объект пользователя. Я предполагаю, что это связано со ссылкой на вложенную схему, поскольку я не вижу ничего другого, что могло бы вызвать эту проблему. Кто-нибудь знает способ решить эту проблему?
Спасибо.