我在MongoDb中有一个集合,我正在尝试使用rmongodb包将数据导入到R中。我想根据数据库中存在的日期和时间对文档进行分组。
所以我使用rmongodb包下定义的mongo.find.all函数,如下所示:尝试提取特定日期时间点之前的文档。
query<-mongo.bson.from.JSON('{"Date_time":{"$lte":"2015-1-5 20:00:00"}}')
sample<-mongo.find.all(mongo,db.coll,query)
我根本没有任何输出。
R将日期时间对象视为字符串而不是日期变量。
知道如何解决这个问题吗?
答案 0 :(得分:2)
请使用mongo.bson.from.list()
函数,它直接将R的类型转换为MongoDB类型。
posix_time <- strptime(x = "2015-1-5 20:00:00", format = '%F')
query <- mongo.bson.from.list(list("Date_time" = list("$lte" = posix_time)))
sample <- mongo.find.all(mongo,"db.coll",query)
同样mongo.bson.from.list()
要快得多,因为它避免了JSON解析。
P.S。实际上mongo.bson.from.JSON
在幕后使用它。