Maison > base de données > tutoriel mysql > Comment la correspondance des expressions régulières de MongoDB se compare-t-elle à l'opérateur « LIKE » de SQL ?

Comment la correspondance des expressions régulières de MongoDB se compare-t-elle à l'opérateur « LIKE » de SQL ?

Susan Sarandon
Libérer: 2025-01-23 19:11:10
original
646 Les gens l'ont consulté

How Does MongoDB's Regular Expression Matching Compare to SQL's `LIKE` Operator?

Équivalent de la requête SQL "LIKE" dans MongoDB

MongoDB fournit un moyen puissant d'interroger des données à l'aide d'expressions régulières. Alors que SQL utilise l'opérateur « LIKE », MongoDB utilise des expressions régulières, ce qui offre une plus grande flexibilité dans la correspondance de modèles.

Structure des requêtes

Pour répliquer la fonctionnalité des requêtes SQL "LIKE" dans MongoDB, utilisez la syntaxe suivante :

<code>db.collection.find({field: /pattern/})</code>
Copier après la connexion

Exemple : Rechercher "m" dans une chaîne

Considérez la requête SQL suivante :

<code>SELECT * FROM users WHERE name LIKE '%m%'</code>
Copier après la connexion

Dans MongoDB, la requête équivalente est :

<code>db.users.find({"name": /.*m.*/})</code>
Copier après la connexion

Cette requête recherche les documents dont le champ « nom » contient « m » n'importe où dans la chaîne.

Autre syntaxe

Vous pouvez également utiliser une expression plus simple pour obtenir le même résultat :

<code>db.users.find({"name": /m/})</code>
Copier après la connexion

Cependant, il est important de noter que cette expression ne correspond qu'aux chaînes commençant par « m ».

Avantages des expressions régulières

Les expressions régulières de MongoDB offrent des fonctionnalités avancées au-delà de l'opérateur SQL « LIKE ». Ils permettent une mise en correspondance de modèles complexes, vous permettant de définir des critères de recherche précis.

Par exemple, vous pouvez exclure les mots qui contiennent « m » mais se terminent par « c » en utilisant l'expression suivante :

<code>db.users.find({"name": /^.*m.*[^c]$/})</code>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal