Maison >base de données >tutoriel mysql >Comment simuler l'opérateur LIKE de SQL dans MongoDB ?

Comment simuler l'opérateur LIKE de SQL dans MongoDB ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-23 19:26:09174parcourir

How to Simulate SQL's LIKE Operator in MongoDB?

Réplication de la fonctionnalité LIKE de SQL dans MongoDB

L'opérateur

SQL LIKE simplifie les recherches basées sur des modèles. Par exemple, trouver tous les utilisateurs dont les noms contiennent « m » est facile :

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

MongoDB, dépourvu d'équivalent direct LIKE, exploite les expressions régulières pour des fonctionnalités similaires. L'équivalent MongoDB de la requête SQL ci-dessus est :

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

Ceci utilise une expression régulière /.*m.*/ pour localiser tout document où le champ name contient "m" n'importe où dans la chaîne. Le . correspond à n'importe quel caractère, * correspond à zéro ou plusieurs occurrences et m est le caractère littéral à rechercher.

Une alternative plus simple, mais moins précise, est :

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

Ceci recherche tout champ name contenant au moins un "m".

Les capacités d'expression régulière de MongoDB surpassent l'opérateur LIKE de SQL en termes de flexibilité, permettant une correspondance de modèles plus complexe. Pour des détails complets sur les expressions régulières MongoDB, consultez la documentation MongoDB officielle et les MDN Web Docs sur les expressions régulières. (Veuillez remplacer https://www.php.cn/link/f84f4800d13741a98ddf9bc46e58355c et https://www.php.cn/link/a93dddc1fd67c3a6409fafb5801d7d50 par les liens réels.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn