Rmongodb包日期对象

时间:2015-02-03 06:15:28

标签: mongodb-query rmongodb

我在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将日期时间对象视为字符串而不是日期变量。

知道如何解决这个问题吗?

1 个答案:

答案 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在幕后使用它。

相关问题