您好我正在使用mongolite
软件包更新mongodb中的集合,但我无法弄清楚为什么我的查询失败(谷歌没有帮助)。
我要运行update命令,但是我收到错误,说时间戳无效:
files$update(
query = "{\"FileId\" : \"F0FFFBDA14E1D49547C24CD5150\" }",
update = "{ \"$set\" : {\"Contract\" : \"1\"},
\"$currentDate\" : {\"Updated\" : { \"$type\" : \"timestamp\" } } }")
错误:无效的输入字符串时间戳,寻找6
这是我试图改写的对象:
{ "_id" : ObjectId("59d3fc93ec2d602b7967f4a7"),
"Client" : "Someone",
"FileId" : "F0FFFBDA14E1D49547C24CD5150"
}
我非常确定我的查询是正确的我能够在mongo
shell客户端中执行它。
答案 0 :(得分:1)
使用mongolite的文档我发现了如何添加自己的时间戳,这恰好是现在的时间。
基本上我没有使用$currentDate
运算符,而是使用了$set
并使用了一小段R代码,我想出了将Updated
字段设置为:
sub(
"NOW",
format(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", 'EST'),
'"$set" : {"Updated" : "NOW"}'
)
有关详细信息,请参阅documentation。