Regex 使用正则表达式的Rmongodb无法按预期工作
在使用正则表达式从R(使用rmongodb包)查询mongodb时,我遇到了一个问题。下面是我的代码:Regex 使用正则表达式的Rmongodb无法按预期工作,regex,r,mongodb,rmongodb,Regex,R,Mongodb,Rmongodb,在使用正则表达式从R(使用rmongodb包)查询mongodb时,我遇到了一个问题。下面是我的代码: buf <- mongo.bson.buffer.create() regex <- mongo.regex.create("air filter*$", options="i") mongo.bson.buffer.append.regex(buf, "keyword", regex) query <- mongo.bson.from.buffer(buf) res <
buf <- mongo.bson.buffer.create()
regex <- mongo.regex.create("air filter*$", options="i")
mongo.bson.buffer.append.regex(buf, "keyword", regex)
query <- mongo.bson.from.buffer(buf)
res <- mongo.find.all(mongo,collection,query)
注意:我尝试了json字符串,但无法使用,因为我需要将变量作为输入正则表达式传递,即我使用paste0(组件[1],“*$”
创建正则表达式,其中组件列表包含诸如空气过滤器等术语
你能提供一些指导吗
谢谢 以下是我尝试过的,它正在发挥作用
library(rmongodb)
mongo <- mongo.create(host = "localhost", db = "test")
components <- list("air filter", "engine oil")
for (component in components) {
jsonStr <- paste0('{"keyword" : {"$regex" : "', component, '$"}}')
mongo.bson.from.JSON(jsonStr)
res <- mongo.find.all(mongo, "test.coll", mongo.bson.from.JSON(jsonStr))
print(res)
}
库(rmongodb)
mongo你能发布一些示例文档吗?我要的是你收藏的文档。对不起!集合的“我的关键字”字段包含诸如空气滤清器、座舱空气滤清器、二次空气滤清器等术语。查询有多个匹配项。{“_id”:ObjectId(“55dcdc72473fdf86c0020d96”),“_类”:“关键字”:“空气滤清器”,“同义词”:[]}{“_id”:ObjectId(“55DC72473FDF86C0020E0F”),“_类”:”“关键字”:“座舱空气过滤器”,“同义词”:[]}{”_id:ObjectId(“55DC79473FDF86C002143B”),“_类”:”“关键字”:“二次空气过滤器”,“同义词”:[]}感谢您的输入。但是我拒绝了json的使用,因为我需要在列表中以变量的形式传递正则表达式。例如:我认为我们不能做{“$regex”:paste0(组件[1],“*$”)对于jsonStr。您能确认一下吗?您能更具体地提到您的输入吗?因为我们不知道什么是组件
。组件列表中包含空气过滤器之类的术语,我需要通过应用REG解释。请编辑您的问题并提及所有输入。请提供组件的列表值
相似部件
library(rmongodb)
mongo <- mongo.create(host = "localhost", db = "test")
components <- list("air filter", "engine oil")
for (component in components) {
jsonStr <- paste0('{"keyword" : {"$regex" : "', component, '$"}}')
mongo.bson.from.JSON(jsonStr)
res <- mongo.find.all(mongo, "test.coll", mongo.bson.from.JSON(jsonStr))
print(res)
}