【发布时间】:2020-01-10 00:03:58
【问题描述】:
我已经使用这个聚合管道大约六个月了:
[
{
$group: {
_id: { $isoWeek: "$createdAt" },
count: { $sum: 1 },
fonte: { $push: "$source" },
appointments: { $push: "$appointment" }
}
},
{
$addFields: { week: "$_id" }
},
{
$project: { _id: 0 }
},
{
$limit: 2
}
]
现在它正在检索两年后的随机周。
解决方案似乎很简单,但我无法解决这个问题,我已经浪费了太多时间了。
我尝试了多个分组,匹配无济于事。
预期结果是获得最后两周的数据(生产统计数据),然后使用普通 js 进一步处理并显示在 CRM 中。
编辑
目前结果:
[
{
count: 13,
fonte: [
'casalugano.ch', 'homegate.ch',
'casalugano.ch', 'homegate.ch',
'tutti.ch', 'homegate.ch',
'homegate.ch', 'casalugano.ch',
'tutti.ch', 'homegate.ch',
'homegate.ch', 'homegate.ch',
'homegate.ch'
],
appointments: [],
week: 1
},
{
count: 5,
fonte: [
'casalugano.ch',
'homegate.ch',
'tutti.ch',
'homegate.ch',
'homegate.ch'
],
appointments: [],
week: 52
}
]
预期结果是获得当前周和最后周的数据价值(第 2 周和第 1 周)。
【问题讨论】:
-
如果可以分享json格式的示例文档就好了。
-
你的意思是我现在得到的结果吗?
-
样本输入文档、您当前的结果和预期的结果将是最好的。此外,如果您使用猫鼬,架构代码会很好。
-
在一个问题中发布的数据太多了,架构本身是巨大的..我会添加一些东西..
-
即使第 1 周完全关闭,mongo 中一定有一个奇怪的系统来检测新年,也许下周它会正常化,因为这周 (2) 被正确计算。
标签: mongodb mongoose mongodb-query aggregation-framework