将 MongoDB 中的 ISODate 传递到 R

4

我目前正在使用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包传递mongodb ISODates时,我需要特别注意什么?

1个回答

6

我刚刚花了相当长的时间来摆脱这个问题。如果您仍然在寻找答案,关键似乎在于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' } } }"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接