首页 > 解决方案 > 如何获得猫鼬中两个字段的总和?

问题描述

我有这个架构:

const ledgerSchema = mongoose.Schema({
debitValue: Number,
creditValue: Number,
debitAccount: [],
creditAccount: [],
date: {type: Date, default: Date.now},
journal_id: String
});

我想在某个时间线内(例如从年初到年底)对“debitValue”和“creditValue”中的所有值求和。我该怎么做?

标签: mongodbmongoose

解决方案


因此,您可以使用聚合并使用$sum运算符获取总和,我假设您需要分别而不是一起使用借方和贷方的总和。

db.collection.aggregate([
   { '$match':{ "date":{$gt:startDate,$lt:endDate}}},
   {
    '$group':{ _id:"_id","debitScore":{$sum:"$debitValue"}, "creditScore":{$sum:"$creditValue"}}
   }
])

推荐阅读