У меня есть две модели Mongoose: пользовательская и одна для активности, связанной с ними
пользовательская схема
let userSchema = new mongoose.Schema({
name: { type: String, required: true },
clan: { type: String },
activities: [{
type: mongoose.Schema.ObjectId,
ref: 'Activity',
}],
});
схема действий
let activitySchema = new mongoose.Schema({
name: { type: String },
point: { type: Number },
});
Таким образом, данные представляют собой нечтокак это
[{
name: "Player A",
clan: "Some Clan",
activities: [{
name: "Wake up",
point: 5
},{
name: "Eat,
point: 3
}]
},{
name: "Player B",
clan: "Some Clan",
activities: [{
name: "Wake up",
point: 5
},{
name: "Sleep",
point: 5
}]
}]
теперь, как я суммирую все игровые очки, где игрок находится в клане "Some Clan"?
Я ожидаю такой результат
{
sumOfPoints: 18 // because sum of player activities in "Some Clan" is 5 + 3 + 5 + 5
}