如何从R中使用mongodb中的变量值进行查询?

m2xkgtsf  于 2023-11-14  发布在  Go
关注(0)|答案(3)|浏览(142)

我是rmongodb的新手。我想使用变量的值在MongoDB中的一个集合中进行查询。它是这样的:

  1. OBS_ID<-"20150510120000"
  2. QUERY_DATA<-mongo.find.all(MONGO, "prod.CUSTDATA", query='{"Obs_ID" :
  3. OBS_ID}')

字符串
这段代码不起作用。我在rmongodb中找不到任何关于如何处理这一问题的相关文档。
期待您的回答!谢谢!

nhaq1z21

nhaq1z211#

我想你应该尝试dbGetQuery如下:

  1. library('RMongo')
  2. dbName <- mongoDbConnect('dbname')
  3. query <- dbGetQuery(dbName,'collectionName',"{'Obs_ID' : '20150510120000'}")

字符串

hgb9j2n6

hgb9j2n62#

我已经找到了解决这个问题的方法。我需要创建一个mongo.bson.buffer对象。

设置查询

OBS_ID <-"20150510120000"
buf <-mongo. bson. buffer. create()mongo. bson. buffer. start. object(buf,"Obs_ID")mongo. bson. buffer. append(buf,"$eq",OBS_ID)criteria <-mongo. bson. from. buffer(buf)

使用条件从MongoDB查询

QUERY <-mongo. find. all(MONGO,"prod. CUSTDATA",query = criteria)

jbose2ul

jbose2ul3#

以下为我工作,虽然我使用蒙古,这个想法可能对你有用:

  1. library (mongolite)
  2. con = mongo(...) #your data to connect to your mongoDB
  3. fquery <- (paste0("{\"","Obs_ID\"",":\"", OBS_ID, "\"}")) #create the query
  4. mydata <- con$find(fquery) #retrieve data

字符串
注意:使用“,Mongo不会接受”。
最好的!

相关问题