Я работаю с мангустом, и у меня есть проблема с агрегатом после заполнения. Ниже приведены примеры.как агрегировать после заполнения с помощью мангуста
Есть две схемы модели монгун, монстр и коллекция.
const monster = new Schema({
name: { type: String },
power: { type: Number },
armor: { type: Number },
});
const collection = new Schema({
_monster: { type: Schema.Types.ObjectId, ref: 'Monster' },
addedPower: { type: Number },
addedArmor: { type: Number },
});
Как вы видите, поле «_monster» является внешним ключом из схемы «коллекции» в схеме «монстра».
Я хочу заполнить «монстр» и «коллекцию», используя этот путь, как показано ниже.
Collection.find().populate('_monster')
И я хочу обобщить этот результат, как показано ниже.
AboveResult.aggregate([
{
'$project': {
'new_field': {
'$add': [
'$addedPower', '$addedArmor', '$_monster.power', '$_monster.armor'
]
}
}
}
]);
Выше не работает, но я думаю, что это объяснило бы то, что я хочу. Ответ будет очень благодарен.
Возможно дублировать http://stackoverflow.com/questions/16680015/how-to-use- populate-and-aggregate-in-same-statement –