在R中传递mongodb ISODate

nga*_*ita 4 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")  } }
Run Code Online (Sandbox Code Playgroud)

我收到错误:

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

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

use*_*318 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' } } }"
Run Code Online (Sandbox Code Playgroud)