Maison >base de données >tutoriel mysql >Comment obtenir la fonctionnalité « LIKE » de SQL dans les requêtes MongoDB ?
Correspondance de modèles de MongoDB : un équivalent d'opérateur "LIKE"
L'opérateurSQL LIKE
simplifie les recherches basées sur des modèles. Par exemple, SELECT * FROM users WHERE name LIKE '%m%'
récupère tous les utilisateurs avec « m » dans leur nom. MongoDB n'a pas d'équivalent direct LIKE
, mais les expressions régulières obtiennent le même résultat.
La solution MongoDB :
Pour rechercher des documents contenant une sous-chaîne spécifique, utilisez cette syntaxe :
<code class="language-javascript">db.collection.find({ field: /.*substring.*/ })</code>
Voici la répartition :
db.collection
: Spécifie la base de données et la collection.field
: Le champ dans lequel effectuer la recherche.substring
: La sous-chaîne à laquelle correspondre.Exemple :
Pour rechercher des utilisateurs avec un « m » dans leur nom :
<code class="language-javascript">db.users.find({ "name": /.*m.*/ })</code>
Exploiter les expressions régulières
MongoDB utilise des expressions régulières pour une correspondance de modèles puissante, dépassant LIKE
celle de SQL en termes de flexibilité. Des modèles complexes et des recherches avancées sont facilement mis en œuvre.
Correspondance simplifiée :
Pour des recherches plus simples où la sous-chaîne peut apparaître n'importe où dans le champ :
<code class="language-javascript">db.users.find({ "name": /m/ })</code>
Remarques importantes :
Les caractères spéciaux (par exemple, ".", "*") dans votre sous-chaîne peuvent nécessiter une évasion avec une barre oblique inverse (). Consultez la documentation des expressions régulières MongoDB pour une utilisation détaillée.
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!