R -How to pass value in mongolite Query

和自甴很熟 提交于 2019-12-02 13:07:00

问题


I'm using mongolite package to connect and retrieve data from MongoDB.How to pass value in mongolite find query

##connecting mongodb

library(mongolite)

mongo<-mongolite::mongo(collection = "Sample", db = "Test", url = 
                          "mongodb://User:123@Wyyuyu:13333/ty2_U",verbose = TRUE)

## getting all data from collection data from collection below query is working fine.

values <- mongo$find()

## But I want to filter specific value by passing value.

 for(i in c("process","check","queue"))
{    

   values <- mongo$find('{"field" : i}',)
}

if I tried above code i'm getting getting below issues . please help me to resolve

Error: Invalid JSON object: {"field" : i}

回答1:


Given your i is a variable, you need to create the string using something like paste0:

values <- mongo$find(paste0('{"field" : ', i, '}') )

but rather than a loop you could also use

values <- mongo$find('{"field" : { "$in" : [ "process", "check", "queue" ] } }')


来源:https://stackoverflow.com/questions/47069411/r-how-to-pass-value-in-mongolite-query

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!