我正在尝试将新文档添加到mongo数组中,并且我需要其中一个字段作为当前时间戳。这是用于字段级版本控制,但我无法弄清楚如何组合$ push和$ currentDate来获得我想要的结果。
有人能指出我正确的方向吗?
db.tmp.adviceReportingJourney.update(
{ _id : "5525f99be4b041151d51386e5525f99be4b041151d513870" },
{
$push: {
"$currentDate": {
"Conversation1MeetingCreated" : {
"vid" : 4,
"ts" : {"$type": "timestamp"},
"data" : 1428552213559
}
}
}
}
)
答案 0 :(得分:1)
您可以使用您的编码语言date.Now添加当前时间;-) 喜欢(我认为是java; - )):
db.tmp.adviceReportingJourney.update(
{ _id : "5525f99be4b041151d51386e5525f99be4b041151d513870" },
{
$push: {
"$currentDate": {
"Conversation1MeetingCreated" : {
"vid" : 4,
"ts" : {"$type": "timestamp"},
"data" : Date.now()
}
}
}
}
)
更新:运行mongo时> 3.0你可以使用$ currentDate。从文档$currentDate可以看出$ currentDate仅适用于db.collection.update(),db.collection.findAndModify()。
请参阅下面的示例更新嵌入文档“Conversation1MeetingCreated”(您更新时间戳的地方)使用:
{
$currentDate: {
"Conversation1MeetingCreated.ts": { $type: "timestamp" }
},
$set: {
"Conversation1MeetingCreated.vid" : 4,
"Conversation1MeetingCreated.data": 1428552213559
}
}
希望它有所帮助。