Как запросить MongoDB из R? - PullRequest
       11

Как запросить MongoDB из R?

12 голосов
/ 23 сентября 2011

Я хочу получить запрос MongoDB от R.

С оболочкой mongo я бы запросил:

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

Однако в R-Mongo я не нашел, как описать этот запрос.

Спасибо

Ответы [ 3 ]

13 голосов
/ 25 сентября 2011

Если вы используете 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)
8 голосов
/ 13 сентября 2012

Если вы используете RMongo , запрос будет:

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

Результатом dbGetQuery () будет Фрейм данных .

1 голос
/ 30 октября 2013

Я также написал легкий интерфейс для R пакета pymongo (официальный API для Python) https://github.com/RockScience/Rpymongo/blob/master/Rpymongo.r Он максимально близко имитирует функции и аргументы на официальной странице API http://api.mongodb.org/python/current/api/pymongo/collection.html

...