如何从R查询MongoDB?

时间:2011-09-23 09:44:57

标签: r mongodb rmongodb rmongo

我想从R获得MongoDB查询。

使用mongo shell,我会查询:

db.user.find({age:{$gt:21}})

但是,在R-Mongo中,我还没有找到如何描述这个查询。

由于

3 个答案:

答案 0 :(得分:13)

如果您使用的是rmongodb(有一个名为Rmongo的类似软件包):

     r <- mongo.find(mongo, "test.user", list(age=list('$gt'=21L)))

BSON查询对象也可以这样构建:

     buf <- mongo.bson.buffer.create()
     mongo.bson.buffer.start.object(buf, "age")
     mongo.bson.buffer.append(buf, "$gt", 21L)
     mongo.bson.buffer.finish.object(buf)
     query <- mongo.bson.from.buffer(buf)
     r <- mongo.find("mongo", "test.user", query)

答案 1 :(得分:8)

如果您使用的是RMongo,则查询将为:

 dbGetQuery(mongo, "user","{'age':{'$gt': 21}}}")

dbGetQuery()的结果将是Data Frame

答案 2 :(得分:1)

我还为pymongo包的R(python的官方API)编写了轻量接口 https://github.com/RockScience/Rpymongo/blob/master/Rpymongo.r 它尽可能模仿API官方页面上的函数和参数 http://api.mongodb.org/python/current/api/pymongo/collection.html