【问题标题】:Accessing a variable field within mongoDb $match aggregation pipeline访问 mongoDb $match 聚合管道中的变量字段
【发布时间】:2020-12-03 13:10:32
【问题描述】:

我正在尝试通过聚合动态过滤一些数据,将列和日期作为参数传递给聚合。

{"$match":
    {"\"$$dateFilter.column\"": {"$gte": "ISODate(\"$$dateFilter.value\")"}}
}

这就是我调用聚合的方式(通过 RestHeart HTTP 调用):

https://<server>/<collection>/_aggrs/<aggregationUri>?np&avars={ "dateFilter": {"column": "startDateTime", "value": "2020-12-01T00:00:00.0Z"}}

它不会抛出错误,但不会返回任何信息。有什么想法吗?

【问题讨论】:

    标签: mongodb restheart


    【解决方案1】:

    在 RESTHeart 中你需要使用json representation of json

    日期表示为{"$date": &lt;epoch_time_millis&gt;}

    尝试类似:

    https://<server>/<collection>/_aggrs/<aggregationUri>?np&avars={"dateFilter": { "column": "startDateTime", "value": {"$date": 1605135600000 }}}
    

    1605135600000 是 2020-12-01T00:00:00.0Z 的纪元时间(以毫秒为单位)

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      相关资源
      最近更新 更多