我想从 R 获取 MongoDB 查询。
使用mongo
外壳,我会查询:
db.user.find({age:{$gt:21}})
但是,在 R-Mongo 中,我还没有找到如何描述这个查询。
谢谢
如果你使用的是 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)
If you are using RMongo, the query would be:
dbGetQuery(mongo, "user","{'age':{'$gt': 21}}}")
The result of dbGetQuery() will be a Data Frame.
我还为 pymongo 包(python 的官方 API)的 R 编写了轻量级接口 https://github.com/RockScience/Rpymongo/blob/master/Rpymongo.r 它尽可能地模仿了函数和参数API官方页面 http://api.mongodb.org/python/current/api/pymongo/collection.html