我有以下模式(缩写!)
{
date: {
_id: false,
day: { type: Number },
month: { type: Number },
year: { type: Number },
},
flightTimes: {
_id: false,
totalTime: Number,
...
},
loggedTimes: {
_id: false,
P1: {
type: Number,
},
P2: {
type: Number,
},
...
},
customFields: [
{
_id: false,
value: String,
type: {
type: String,
enum: ["text", "number", "time", "yesno", "paragraph"],
required: true,
},
},
],
}
我正在尝试使用聚合来产生以下输出,但是很挣扎。
{
total: [10,20,30],
P1: [45, 55, 12],
P2: [0, 12, 15],
}
总数组的第一项是月份= 1(一月)的所有文档的总和,第二项是二月等的总和。
关于如何进行的任何建议?奖励积分:如果没有文档与当前月份匹配,则数组应为0。要获得更多的奖励积分:我如何在类型=时间的每个自定义字段中为值的总和创建一个附加数组。
最终希望通过Charts.JS生成一个图形,该图形显示每个时间类别的每月总和。