所以,因为我显然太笨了,无法自己弄清楚这一点,所以我会在 SO 上问你们更好的人。
基本上我有一个如下所示的数据结构:
....,
{
"id": 12345
....
"policy_subjects": [
{
"compiled": "^(user|max|anonymous)$",
"template": "<user|max|anonymous>"
},
{
"compiled": "^max$",
"template": "max"
}
]
....
}
编译是一个“编译”的正则表达式
模板是相同的正则表达式,没有正则表达式修饰符
我想要的是在 RethinkDB 中使用“编译”值进行一个简单的查询,并将其与字符串匹配,比如“max”。
Basically
r.table("regex_policies").filter(function(policy_row) {
return "max".match("(?i)"+policy_row("policy_subjects")("compiled"))
}
Is what i want to do (+case-insensitive search)
数据库中当然有很多 policy_subjects,所以在这个例子中,结果应该是匹配“max”的整个数据集(1 个结果)。由于在这种情况下“max”存在两次并且它匹配两个正则表达式(一次就足够了)。
在本例中,“foobar”同样会产生 0 个结果,因为任何编译的正则表达式都与“foobar”不匹配。
有谁知道如何做这个相对简单的查询?
慕田峪9158850
相关分类