填充在收集现场我有2个猫鼬集合:ExpenseCategory和费用猫鼬:从其他集合
var ExpenseCategorySchema = new Schema({
name: String,
totalSpentInThisMonth: Number
});
mongoose.model('ExpenseCategory', ExpenseCategorySchema);
var ExpenseSchema = new Schema({
expenseCategoryId: {type: Schema.Types.ObjectId, ref: 'ExpenseCategory'},
amount: Number,
date: Date
});
mongoose.model('Expense', ExpenseSchema);
有一个GET api
电话写在的Node.js返回所有ExpenseCategory items
。
appRouter.route('/expensecatgories')
.get(function(req, res){
ExpenseCategory.find({}, function (expenseCategories) {
res.json(expenseCategories);
});
});
在上面GET method
我想返回之前来填充每个expenseCategories
项目现场totalSpentInThisMonth
。该字段需要计算为所有expense.amount
的总和,其中expense.expenseCategoryId
与expenseCategory.id
和expense.date
匹配的是当前月份。
如何在返回expenseCategories
之前填写字段totalSpentInThisMonth
?
的可能的复制[如何使用相同的语句填充,并汇总?](http://stackoverflow.com/questions/16680015/how-to-use -populate和聚集型的-相同语句) –