如何从R查询MongoDB?

use*_*594 12 r mongodb rmongodb rmongo

我想从R获取MongoDB查询

有了mongoshell,我会查询:

db.user.find({age:{$gt:21}})
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Ger*_*sly 13

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

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

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)
Run Code Online (Sandbox Code Playgroud)


Ste*_*nie 8

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

 dbGetQuery(mongo, "user","{'age':{'$gt': 21}}}")
Run Code Online (Sandbox Code Playgroud)

dbGetQuery()的结果将是一个数据框架.