Réplication de la fonctionnalité LIKE de SQL dans MongoDB
L'opérateurSQL 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!