【发布时间】:2021-08-01 08:13:04
【问题描述】:
我对 javascript 很陌生,我正在创建一个仪表板。我想获得每周的订单数量,这是我能够做到的。现在,我得到了与一年中的一周相对应的数字,但是,我想获得与那一周相对应的日期(星期一)。我已经包括了我在下面的内容。我将不胜感激有关如何执行此操作的任何帮助或指导。谢谢!
const weeklyOrders = await Order.aggregate([
{
$group: {
_id: { $dateToString: { format: '%U', date: '$createdAt' } },
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
]);
编辑:
const weeklyOrders = await Order.aggregate([
{
$group: {
_id:{ $dateFromParts: {
isoWeekYear: {$year: '$createdAt' },
isoWeek: { $isoWeek: '$createdAt' },
isoDayOfWeek: 1
},
},
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
]);
工作,但日期是 ISO 日期格式。我试图在下面的代码中解决这个问题,但没有奏效。
const weeklyOrders = await Order.aggregate([
{
$group: {
_id:{ date: {
$dateToString: { format: '%m-%d-%Y' },
},
},
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
{
$addFields:{
date: {
$dateFromParts: {
isoWeekYear: {$year: '$createdAt' },
isoWeek: { $isoWeek: '$createdAt' },
isoDayOfWeek: 1
}
}
}
},
]);
【问题讨论】:
标签: javascript reactjs mongodb mongodb-query