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 サイトの他の関連記事を参照してください。