ホームページ >データベース >mysql チュートリアル >MongoDB クエリで SQL の「LIKE」機能を実現するにはどうすればよいですか?

MongoDB クエリで SQL の「LIKE」機能を実現するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-23 19:31:21919ブラウズ

How to Achieve SQL's

MongoDB のパターン マッチング: "LIKE" 演算子と同等

SQL の LIKE 演算子は、パターンベースの検索を簡素化します。 たとえば、SELECT * FROM users WHERE name LIKE '%m%' は名前に「m」を含むすべてのユーザーを取得します。 MongoDB には直接同等の LIKE はありませんが、正規表現を使用すると同じ結果が得られます。

MongoDB ソリューション:

特定の部分文字列を含むドキュメントを検索するには、次の構文を使用します。

<code class="language-javascript">db.collection.find({ field: /.*substring.*/ })</code>

内訳は次のとおりです:

  • db.collection: データベースとコレクションを指定します。
  • field: 検索するフィールド。
  • substring: 一致する部分文字列。

例:

名前に「m」が含まれるユーザーを検索するには:

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

正規表現の利用

MongoDB は正規表現を使用して強力なパターン マッチングを行い、柔軟性において SQL の LIKE を上回ります。 複雑なパターンや高度な検索も簡単に実装できます。

簡易マッチング:

フィールド内のどこにでも部分文字列を出現させることができる、より単純な検索の場合:

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

重要な注意事項:

部分文字列内の特殊文字 (「.」、「*」など) は、バックスラッシュ () でエスケープする必要がある場合があります。 詳しい使用法については、MongoDB 正規表現のドキュメントを参照してください。

以上がMongoDB クエリで SQL の「LIKE」機能を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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