最も簡単な方法は、$expr
を使用することです。 次のように3.6で最初に利用可能になりました:
{$match:{$expr:{$eq:[
“$second”,
{$substr:{
“$first”,
0,
{$strLenCP:”$second”}
}}
]}}}
これは、フィールド「second」の文字列を「first」の最初のN文字と比較します。ここで、Nは2番目の文字列の長さです。それらが等しい場合、「最初」は「2番目」で始まります。
4.2では、集計式で$ regexのサポートが追加されていますが、最初ははるかに単純で、正規表現は必要ありません。