Mongodb 将mongo$push和$currentDate组合起来,在新数组元素中包含时间
我正在尝试向mongo数组添加一个新文档,我需要其中一个字段作为当前时间戳。这是用于字段级别的版本控制,但我不知道如何将$push和$currentDate组合起来以获得我想要的结果 有人能给我指出正确的方向吗Mongodb 将mongo$push和$currentDate组合起来,在新数组元素中包含时间,mongodb,mongodb-query,Mongodb,Mongodb Query,我正在尝试向mongo数组添加一个新文档,我需要其中一个字段作为当前时间戳。这是用于字段级别的版本控制,但我不知道如何将$push和$currentDate组合起来以获得我想要的结果 有人能给我指出正确的方向吗 db.tmp.adviceReportingJourney.update( { _id : "5525f99be4b041151d51386e5525f99be4b041151d513870" }, { $push: { "$cur
db.tmp.adviceReportingJourney.update(
{ _id : "5525f99be4b041151d51386e5525f99be4b041151d513870" },
{
$push: {
"$currentDate": {
"Conversation1MeetingCreated" : {
"vid" : 4,
"ts" : {"$type": "timestamp"},
"data" : 1428552213559
}
}
}
}
)
您可以使用编码语言date.Now添加当前时间;-) 比如(我是java;-): 更新:运行mongo>3.0时,可以使用$currentDate。从文档中可以看出,$currentDate仅适用于db.collection.update()、db.collection.findAndModify() 请参见下面的示例,以更新嵌入文档“Conversation1MeetingCreated”(其中更新时间戳),使用:
希望能有帮助。谢谢你回复我。我正在使用Python,并认为可能需要这样做,但我认为Mongo应该能够处理它,因为我希望我的日期在整个数据库中保持一致的格式,并且所有其他集合都使用Mongo时间戳。用$push不可能实现这一点吗?谢谢。我不确定这种情况是否总是这样。在此类查询中使用$currentDate的整个想法是依赖MongoDB的集群时间,而不是本地机器时间。
db.tmp.adviceReportingJourney.update(
{ _id : "5525f99be4b041151d51386e5525f99be4b041151d513870" },
{
$push: {
"$currentDate": {
"Conversation1MeetingCreated" : {
"vid" : 4,
"ts" : {"$type": "timestamp"},
"data" : Date.now()
}
}
}
}
)
{
$currentDate: {
"Conversation1MeetingCreated.ts": { $type: "timestamp" }
},
$set: {
"Conversation1MeetingCreated.vid" : 4,
"Conversation1MeetingCreated.data": 1428552213559
}
}