0

正規表現でグループをキャプチャするのと同じように、コレクション内の値の一部を返す方法はありますか? たとえば、次のような値がある場合:

MyKey: "PrefixDataIDontCareAbout-DataIDoCareAbout-OtherDataIDontCareAbout"

正規表現または他の方法を使用してDataIDoCareAbout部分だけを返す方法はありますか? 抽出する必要があるデータは、固定範囲の文字よりも複雑であるため、部分文字列は機能しません。同じ値が一度だけ表示されるように、それらを個別にグループ化する必要があるため、これはクエリ レベルで行う必要があります。

どんなヒントも素晴らしいでしょう!

4

3 に答える 3

1

いいえ、データモデルの問題を示すためにそれを行う必要がある場合は、モデルをリファクタリングして、DataIDoCareAboutを別の、おそらくインデックス可能なキーとして残す方がよいでしょう。

于 2012-11-16T15:47:27.993 に答える
0

正規表現スタイルではありません。

$substrここで役立つ集約フレームワークに組み込まれたコマンドのみがありますが、これは文字列内の文字の整数位置でのみ実行されます。

また、クエリによっては、これを正規表現しません。クエリを他のフィールド、つまり user_id と regex で制限する場合は問題ありませんが、プレフィックスのない形式で正規表現を使用すると、非常に遅くなる可能性があります。

于 2012-11-16T15:48:36.947 に答える
0

1 つの解決策は、複数のクエリを実行する JavaScript スクリプトを作成することです。最初に「DataIDoCareAbout」部分を取得でき、次に、結果を使用して個別に実行し、その他の本当に必要なものを実行できます。

于 2012-11-16T18:56:05.197 に答える