【发布时间】:2021-12-05 19:12:39
【问题描述】:
我的daily 收藏有如下文档:
..
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "ED", "san" : 7046.25, "izm" : 1243.96 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "UA", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "PAL", "san" : 0, "izm" : 169.9 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "PAL", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-03T00:00:00Z"), "vid" : "CTA_TR", "san" : 0, "izm" : 0 }
{ "date" : ISODate("2013-01-04T00:00:00Z"), "vid" : "CAD", "san" : 0, "izm" : 169.9 }
{ "date" : ISODate("2013-01-04T00:00:00Z"), "vid" : "INT", "san" : 0, "izm" : 169.9 }
...
我离开了 _id 字段以节省空间。 我的任务是“获取过去 15 天内的所有文件”。如您所见,我需要以某种方式:
- 获取 15 个唯一日期。最新的应该作为集合中的最新文档(我的意思是今天的日期不是必需的,它只是基于 date 字段的集合中的最新文档)和最旧的文档。 . 好吧,也许没有必要严格定义查询中最旧的一天,我需要的是从最新一天开始的某种 top15,如果你知道我的意思的话。就像 15 独特的天。
- db.daily.find() 在 15 天范围内具有 date 字段的所有文档。
结果,我应该会在 15 天内看到所有文档,从最新的集合开始。
【问题讨论】:
标签: mongodb