1. ホーム
  2. sql

[解決済み] MongoDBに "like "を使ってクエリを実行する方法

2022-03-19 14:54:39

質問

SQLで問い合わせをしたい like クエリになります。

SELECT * FROM users  WHERE name LIKE '%m%'

MongoDBで同じことを実現するにはどうしたらいいでしょうか?に対する演算子が見つかりません。 like ドキュメント .

解決方法は?

それは、そうでなければならないでしょう。

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

あるいは、似たようなもの。

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

どこかに "m" が含まれているものを探している(SQLの' % 演算子は、正規表現の' .* ')であって、文字列の先頭に "m" が固定されているようなものではありません。

MongoDB は正規表現を使います。これは SQL の "LIKE" よりも強力なものです。正規表現を使えば、思い通りのパターンを作ることができます。

正規表現の詳細については、以下のサイトを参照してください。 正規表現 (MDN)を参照してください。