だから、私は明らかに愚かすぎて自分でこれを理解できないので、代わりにここでより良い人々にお願いします。
基本的に、次のようなデータ構造があります。
....,
{
"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」は 2 回存在し、両方の正規表現に一致するため (1 回で十分です)。
コンパイルされた正規表現のいずれも「foobar」に一致しないため、この例では「foobar」も同様に 0 の結果をもたらします。
この比較的単純なクエリの実行方法を知っている人はいますか?