【问题标题】:MongoDb Aggregation toDate() in Spring Data MongoSpring Data Mongo 中的 MongoDb 聚合 toDate()
【发布时间】:2019-11-27 19:48:38
【问题描述】:

我正在尝试重新创建我在 Java 中使用 mongo compass 构建的聚合管道。它由一个 $addFields 组成,它使用 $toDate 将字符串转换为日期。我正在尝试使用 Spring Data Mongo Aggregation Pipeline 在 Java 中做同样的事情,但到目前为止失败了,需要帮助

我尝试了一些其他示例,其中包含来自字符串和投影的日期,但我不知道如何使用 $addFields。

这是我需要在 Java 中使用 Spring Data 重新创建的 mongo 管道。

{
    "event.currentTimeStamp": {
        "$toDate": "$event.timestamp"
    }
} 

这在 shell 和 Compass 上运行良好。

这是我的示例文档。

{
    "_id":"5c0f0f97ece8cc0009c0a8f8",
    "event":{
    "jobid":"e4955ab0-003a-40fd-ac5a-4363c3e0f604",
    "username":"sn",
    "timestamp":"Mon Dec 10 20:15:02 EST 2018",
    "system":"Mercury",
    "eventStatus":"START",
    "eventType":"UPLOAD"
}

我需要将时间戳字段转换为日期并添加为字段,以便我可以对它们进行其他聚合操作。

注意:希望以聚合的形式得到答案,因为这就是我正在做的事情。谢谢。

【问题讨论】:

    标签: mongodb aggregation-framework


    【解决方案1】:

    请找到以下答案。希望这会对你有所帮助。

    db.getCollection('test1').aggregate([
    {$addFields : {"date" : {"$toDate" : "$event.timestamp"}}}
    ])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 2020-01-28
      • 2022-07-20
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      相关资源
      最近更新 更多