ホームページ >データベース >mysql チュートリアル >MongoDB の正規表現マッチングは SQL の `LIKE` 演算子とどのように比較されますか?

MongoDB の正規表現マッチングは SQL の `LIKE` 演算子とどのように比較されますか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-23 19:11:10614ブラウズ

How Does MongoDB's Regular Expression Matching Compare to SQL's `LIKE` Operator?

MongoDB の SQL "LIKE" クエリと同等

MongoDB は、正規表現を使用してデータをクエリする強力な方法を提供します。 SQL では「LIKE」演算子が使用されますが、MongoDB では正規表現が使用されるため、パターン マッチングの柔軟性が高まります。

クエリ構造

MongoDB で SQL "LIKE" クエリの機能を複製するには、次の構文を使用します。

<code>db.collection.find({field: /pattern/})</code>

例: 文字列内の「m」を検索

次の SQL クエリについて考えてみましょう:

<code>SELECT * FROM users WHERE name LIKE '%m%'</code>

MongoDB では、同等のクエリは次のとおりです:

<code>db.users.find({"name": /.*m.*/})</code>

このクエリは、「name」フィールドの文字列のどこかに「m」が含まれるドキュメントを検索します。

その他の構文

また、より単純な式を使用して同じ結果を得ることができます。

<code>db.users.find({"name": /m/})</code>

ただし、この式は「m」で始まる文字列のみと一致することに注意することが重要です。

正規表現の利点

MongoDB の正規表現は、SQL の「LIKE」演算子を超える高度な機能を提供します。複雑なパターン マッチングが可能になり、正確な検索基準を定義できます。

たとえば、次の式を使用して、「m」を含むが「c」で終わる単語を除外できます。

<code>db.users.find({"name": /^.*m.*[^c]$/})</code>

以上がMongoDB の正規表現マッチングは SQL の `LIKE` 演算子とどのように比較されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。