У меня есть 3 схемы. Мой API в node js - это выборка пользовательских данных в соответствии с вопросником matchedUsers. Я добился успеха в том, что он заполняет данные соответствующих пользователей. Но я также хочу добавить рейтинги из схемы рейтинга в результат, если ratingById - это идентификатор matchedusers.
const RatingSchema = new mongoose.Schema({
ratingDate: {
type: Date,
required: true
},
ratedById: {
type: mongoose.Schema.Types.ObjectId,
ref: "User",
required: true
},
ratingOfId: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
rating: {
type: Number
},
ratingComments: {
type: String
},
});
const QuestionnaireSchema = new mongoose.Schema({
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
matchedUsers: {
type: [mongoose.Schema.Types.ObjectId],
ref: "User"
}
});
const UserSchema = new mongoose.Schema({
type: {
type: String
},
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
username: {
type: String,
required: true
}
});
Пожалуйста, помогите, как я могу добавить данные оценки в запрос. Мой код -
router.get("/:id/matches", (req, res, next) => {
Questionnaires.findById(req.query.questionnaireId)
.populate({ path: "matchedUsers", model: "User" })
.exec()
.then(questionnaire =>
res.json({ success: true, matches: questionnaire.matchedUsers })
)
.catch(err => {
console.log(err);
return res.json({ success: false, message: "Could not get matches." });
});
});