У меня есть две следующие схемы:Mongoose вложенными заселить
var UserSchema = new mongoose.Schema({
name: { type: String }
posts: {
owner: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Post' }],
contributor: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Post' }]
}
});
var PostSchema = new mongoose.Schema({
headline: { type: String, required: true }
authors: {
owner: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
contributors: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
}
});
В какой-то момент моего заявления мне нужно, чтобы получить информацию о должности для конкретного пользователя. Другими словами, мне нужно получить id
и headline
должностей, для которых пользователь является владельцем или вкладчиком. Тем не менее, для сообщений, для которых пользователь является автором, мне также необходимо получить информацию об этом авторе (получите id
).
Я пытался начать делать что-то вроде этого:
User.findById(req.params.user_id)
.populate({ path: 'posts.owner', select: '_id headline' })
.populate({ path: 'posts.contributor', select: '_id headline'})
.exec(function(err, user) {
console.log(user);
});
Но я не уверен в том, как продолжать здесь, или даже если это правильный подход? Можете ли вы дать мне руку помощи?
Моя проблема не с заголовками Почты ... Моя проблема заключается в том, как я могу получать информацию владельца на должность, в которой некий пользователь является участником! Например, представьте, что я являюсь автором созданного вами сообщения ... Как я могу получить вашу информацию? Поскольку запрос должен быть удален из моего пользовательского объекта, вы получите свою почту и получите сообщение от своей почты! –