我的实际文档比这更复杂,但像这样简化它们将解释我想要解决的问题。我有每天和每周的文件。
每日文件:ObjectId, Type, Count, Date
每周文件:ObjectId, Type, Count, StartDate, EndDate
如果我想要一份每日报告,我可以运行一个查询,该查询将选择日期字段值在 X 到 Y 范围内且类型等于“每日”的文档。我可以为每周报告做同样的事情,而且一切正常。
问题:
对于每周报告,如果开始日期不是一周的第一天并且结束日期不是一周的最后一天,选择类型为“每周”的文档将生成不准确的报告,因为每周文档存储整周的数据. 这可能看起来很奇怪,但 Google Analytics 可以让您这样做:
在上面的截图中,7 月 3 日不是该周的开始,7 月 17 日也不是该周的结束。但谷歌分析可以让你随心所欲地查看数据。
可能的解决方案:
一种可能的解决方案是生成溢出天数的每日报告,然后从每周报告中减去它。
问题:
有没有更好的解决方案来解决我描述的问题?我愿意重新设计文件