Spring Data Mongo中的MongoDb聚合toDate()

时间:2019-07-18 20:04:27

标签: mongodb aggregation-framework

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

我尝试了其他一些使用dateFromString和projection的示例,但是我不知道如何使用$ addFields进行操作。

这是我需要使用Spring Data在Java中重新创建的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" }

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

注意:希望以一种汇总的方式得到答案,这就是我正在做的事情。谢谢。

1 个答案:

答案 0 :(得分:0)

请找到以下答案。希望对您有帮助。

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