我是rmongodb的新手。我想使用变量的值在MongoDB中的一个集合中进行查询。它是这样的:
OBS_ID<-"20150510120000" QUERY_DATA<-mongo.find.all(MONGO, "prod.CUSTDATA", query='{"Obs_ID" : OBS_ID}')
OBS_ID<-"20150510120000"
QUERY_DATA<-mongo.find.all(MONGO, "prod.CUSTDATA", query='{"Obs_ID" :
OBS_ID}')
字符串这段代码不起作用。我在rmongodb中找不到任何关于如何处理这一问题的相关文档。期待您的回答!谢谢!
nhaq1z211#
我想你应该尝试dbGetQuery如下:
library('RMongo')dbName <- mongoDbConnect('dbname')query <- dbGetQuery(dbName,'collectionName',"{'Obs_ID' : '20150510120000'}")
library('RMongo')
dbName <- mongoDbConnect('dbname')
query <- dbGetQuery(dbName,'collectionName',"{'Obs_ID' : '20150510120000'}")
字符串
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)
QUERY <-mongo. find. all(MONGO,"prod. CUSTDATA",query = criteria)
jbose2ul3#
以下为我工作,虽然我使用蒙古,这个想法可能对你有用:
library (mongolite) con = mongo(...) #your data to connect to your mongoDB fquery <- (paste0("{\"","Obs_ID\"",":\"", OBS_ID, "\"}")) #create the query mydata <- con$find(fquery) #retrieve data
library (mongolite)
con = mongo(...) #your data to connect to your mongoDB
fquery <- (paste0("{\"","Obs_ID\"",":\"", OBS_ID, "\"}")) #create the query
mydata <- con$find(fquery) #retrieve data
字符串注意:使用“,Mongo不会接受”。最好的!
3条答案
按热度按时间nhaq1z211#
我想你应该尝试dbGetQuery如下:
字符串
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)
jbose2ul3#
以下为我工作,虽然我使用蒙古,这个想法可能对你有用:
字符串
注意:使用“,Mongo不会接受”。
最好的!