填充在收集現場我有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和聚集型的-相同語句) –