我在理解应如何处理MongoDB中的一对多关系时遇到问题。 Fort现在我有两种型号:
const transactionSchema = new Schema({
date: { type: Date },
note: { type: String }
});
const spendingSchema = new Schema({
amount: { type: Number },
category: { type: Schema.Types.ObjectId, ref: 'Category' },
transaction: { type: Schema.Types.ObjectId, ref: 'Transaction' }
});
我知道如何将所有支出清单绑定到交易:
transactionSchema.virtual('spendings', {
ref: 'Spending',
localField: '_id',
foreignField: 'transaction'
});
但是我也想在交易模型中有另一个虚拟字段,它是有价值的,它应该等于与交易相关的所有花枝的金额之和。我知道我可以将支出保留为事务内部的数组或至少保留为支出id的数组,但是即使那样,我仍然不知道如何创建这样的虚拟字段。