有两个表,分别为产品my-product和客户需求表client,需要按日汇总统计每天有多少客户提出需求,客户需产品的总数量,及各产品需求数量,如下图
希望统计结果
现在尝试以下查询语句,能做到按日统计产品需求数量,但是还查不出每日各产品需求数量,尝试写了一个按条件统计c002产品,但提示数据库指令不正确,请大佬有时间帮忙看看,指点一下,感谢!
const dateBase = $.dateFromParts({year: 1970, month: 1, day: 1, hour: 8, minute: 0, second: 0, millisecond: 0, timezone: 'Asia/Shanghai'})
timstampToDate = $.add([dateBase, $.multiply(['$last_modify_time', 1])])
records = db.collection('client').aggregate()
.addFields({
formatDate: $.dateToString({
date: timstampToDate,
format: '%Y-%m-%d',
timezone: 'Asia/Shanghai' ,
})
})
.project({
_id:0,
formatDate:'$formatDate',
need_product:'$need_product'
})
.unwind('$need_product')
.group({
_id:'$formatDate',
num:$.sum(1),
c002:$.cond({ //这里出错,想按照条件统计产品c002,但是提示数据库指令本部正确
if: $.eq(['$need_product', "c002"]),
then: $.sum(1),
else 0,
})
})
.end()