2017-01-16 45 views
1

我使用RMongo库从R. 存储蒙戈数据在MongoDB中存储日期这是脚本我试图运行:错误而来自R

time <- "2016-12-31T23:55:43.002513Z"; 
mongo <- mongoDbConnect(dbName, hostName , port); 
output <- dbInsertDocument(mongo, collectionName , paste0('{"Param1":', 1, ',"Param2":', 2, ',"TimeStamp":',time, '}', sep = "", collapse = "")); 

错误,我得到的是:

Error in .jcall([email protected], "S", "dbInsertDocument", collection, : 
com.mongodb.util.JSONParseException: 
{"Param1":1,"Param2":2,"TimeStamp":2016-12-31T23:55:43.002513Z} 
            ^

我应该在这里传递什么格式的时间戳?

+0

如果有人知道其他方式将日期存储到MongoDB(UTC格式)从R,请分享。 –

+0

如果您要插入'data.frame',那么'library(mongolite)'会正确插入它。然而,我还没有找到一个可靠的方式来做到这一点,如果你的数据是在列表/ JSON /其他.. [看到这个答案](http://stackoverflow.com/a/41504780/5977215) – SymbolixAU

回答

1

嗨,谢谢SymbolixAU。这对我有效。

library(mongolite) 

m <- mongo(collection = collectionName , db = dbName, url = hostName); 

df <- data.frame(Param1 = 1, Param2 = 2, TimeStamp=as.POSIXct(time,tz="UTC")); 

m$insert(df); 

只是发布这个供他人参考。