R -Как передать значение в монгольском запросе
Я использую пакет mongolite для подключения и извлечения данных из MongoDB. Как передать значение в запросе поиска mongolite
##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}',)
}
если я попробовал код выше, я получаю проблемы ниже. пожалуйста, помогите мне решить
Error: Invalid JSON object: {"field" : i}
1 ответ
Решение
Учитывая ваш i
переменная, вам нужно создать строку, используя что-то вроде paste0
:
values <- mongo$find(paste0('{"field" : ', i, '}') )
но вместо цикла вы также можете использовать
values <- mongo$find('{"field" : { "$in" : [ "process", "check", "queue" ] } }')