在R中传递mongodb ISODate

时间:2013-08-12 12:27:58

标签: r rmongo

我目前正在使用RMongo包将数据拉入R.我想用

指定应该在我的R会话中拉出的日期范围
library('RMongo')

#Connect to the database
mongo <- mongoDbConnect('db')

#results from dates. 
result <- dbGetQuery(mongo, 'statsdb', '<query>', 0,200000)

Where my <query> is 
 { "createdAt" : { "$gte" : ISODate("2012-12-01T00:00:00Z"), "$lt" : ISODate("2013-01-01T00:00:00Z")  } }

我收到错误:

Error in .jcall(rmongo.object@javaMongo, "S", "dbGetQuery", collection, : com.mongodb.util.JSONParseException:

我是否需要使用RMongo包在R中传递mongodb ISODates?

1 个答案:

答案 0 :(得分:5)

我花了相当多的时间与自己斗争。如果您仍在寻找答案,那么关键似乎是MongoDB扩展JSON;见

http://docs.mongodb.org/manual/reference/mongodb-extended-json/

对于您的查询,您可以写

query = "{ createdAt : { $gte : { $date: '2012-12-01T00:00:00Z' }, 
                         $lt : { $date: '2013-01-01T00:00:00Z' } } }"