我正在尝试重新创建在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字段转换为日期并添加为字段,以便可以对它们执行其他聚合操作。
注意:希望以一种汇总的方式得到答案,这就是我正在做的事情。谢谢。
答案 0 :(得分:0)
请找到以下答案。希望对您有帮助。
db.getCollection('test1').aggregate([
{$addFields : {"date" : {"$toDate" : "$event.timestamp"}}}
])