【发布时间】:2022-12-06 13:43:06
【问题描述】:
要计算用户一年中花费的总金额,我需要包含总金额的数组。
它工作正常,但它非常复杂,因为我必须每天、每月和每周都这样做
我如何降低复杂性。
let query = '';
graph_data = '';
months_for_year = [];
let startofyear = MOMENT().startOf('year');
for (let index = 0; index <= 11; index++) {
const add1month = MOMENT(startofyear)
.add(index, 'month')
.format('YYYY-MM-DD' + 'T' + 'HH:mm:SS' + '.000+00:00');
months_for_year.push(add1month);
}
console.log(',,,', months_for_year);
let year = [];
for (let i = 0; i < months_for_year.length; i++) {
let d = await PRISMA.orders.findMany({
where: {
created_at: {
gte: months_for_year[i],
lte: months_for_year[i + 1],
},
},
select: { actual_amount: true },
});
let total = 0;
d.forEach((el) => {
total += el.actual_amount;
d.push(total);
});
year.push(d);
}
graph_data_of_year = year.map((el) => {
if (el.length === 0) {
return 0;
} else {
return el.pop();
}
});
console.log(graph_data_of_year);
【问题讨论】:
-
按日期分组/聚合是not directly supported by prisma。如果你可以使它特定于数据库,你使用的是什么类型的 pf 数据库?
-
我正在使用 mongodb
标签: java node.js typescript prisma