ホームページ >データベース >mysql チュートリアル >MongoDB で SQL の LIKE 演算子をシミュレートするにはどうすればよいですか?

MongoDB で SQL の LIKE 演算子をシミュレートするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-23 19:26:09184ブラウズ

How to Simulate SQL's LIKE Operator in MongoDB?

MongoDB で SQL の LIKE 機能を複製する

SQL の LIKE 演算子は、パターンベースの検索を簡素化します。 たとえば、名前に「m」を含むすべてのユーザーを検索するのは簡単です:

<code class="language-sql">SELECT * FROM users WHERE name LIKE '%m%';</code>

MongoDB には、直接の LIKE に相当するものが存在せず、同様の機能に正規表現を利用します。 上記の SQL クエリに相当する MongoDB は次のとおりです:

<code class="language-javascript">db.users.find({ name: /.*m.*/ });</code>

これは正規表現 /.*m.*/ を使用して、name フィールドに文字列内の任意の場所に「m」が含まれるドキュメントを検索します。 . は任意の文字に一致し、* は 0 個以上の文字に一致し、m は検索するリテラル文字です。

より単純ですが、正確さは劣りますが、次のような代替案があります。

<code class="language-javascript">db.users.find({ name: /m/ });</code>

これにより、少なくとも 1 つの「m」を含む name フィールドが検索されます。

MongoDB の正規表現機能は、柔軟性の点で SQL の LIKE 演算子を上回り、より複雑なパターン マッチングが可能になります。 MongoDB の正規表現の包括的な詳細については、公式の MongoDB ドキュメント および 正規表現に関する MDN Web ドキュメントを参照してください。 (https://www.php.cn/link/f84f4800d13741a98ddf9bc46e58355chttps://www.php.cn/link/a93dddc1fd67c3a6409fafb5801d7d50 を実際のリンクに置き換えてください。)

以上がMongoDB で SQL の LIKE 演算子をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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