这是 mongolite 包中的错误吗?

Is this a bug in mongolite package?

您好,我正在尝试使用 mongolite 包更新 mongodb 中的集合,但我无法弄清楚为什么我的查询失败(google 没有帮助) .

我正在尝试 运行 更新命令,但我收到错误消息,提示时间戳无效:

files$update(
  query  = "{\"FileId\" : \"F0FFFBDA14E1D49547C24CD5150\" }",
  update = "{ \"$set\" : {\"Contract\" : \"1\"},  
              \"$currentDate\" : {\"Updated\" : { \"$type\" : \"timestamp\" } }  }")

Error: Invalid input string timestamp, looking for 6

这是我要更新的对象:

{ "_id" : ObjectId("59d3fc93ec2d602b7967f4a7"), 
    "Client" : "Someone", 
    "FileId" : "F0FFFBDA14E1D49547C24CD5150"
}

我很确定我的查询是正确的我能够在 mongo shell 客户端中执行它。

使用 mongolite 的文档我发现了如何添加我自己的时间戳,这恰好是现在的时间。

基本上我没有使用 $currentDate 运算符,而是使用了 $set 并使用了一点 R 代码,我想出了我应该将 Updated 字段设置为什么值:

sub(
  "NOW",
  format(Sys.time(), "%Y-%m-%dT%H:%M:%SZ", 'EST'),
  '"$set" : {"Updated" : "NOW"}'
)

有关详细信息,请参阅 documentation