mongodb罗盘聚合$ match范围与动态日期

时间:2019-09-11 19:23:33

标签: mongodb mongodb-compass

我正在尝试在mongodb罗盘中建立聚合管道。我正在使用$ match查找日期范围内的文档。我希望日期范围始终是“当前星期”。

这有效:

 $match: {
    CREATED_ON: {
      $gte: ISODate('2019-09-01'),
      $lt: ISODate('2019-09-07')
    }
  }

但我需要这样:

  $match: {
    CREATED_ON: {
      $gte: *first day of current week*,
      $lt: *last day of current week*
    }
  }

我该如何在罗盘agg管道中执行此操作?

1 个答案:

答案 0 :(得分:0)

我认为在Mongo聚合框架中无法动态匹配当前日期。

在服务器端应用程序中,您将必须动态计算开始日期和结束日期,然后将其传递到$ match中。

下面是一个示例函数,用于获取当前星期的开始和结束日期(假设begin = Sunday和end = Saturday)。

{{1}}