Maison >développement back-end >Golang >Comment puis-je effectuer des correspondances partielles et insensibles à la casse à l'aide du package primitif de MongoDB ?

Comment puis-je effectuer des correspondances partielles et insensibles à la casse à l'aide du package primitif de MongoDB ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 19:32:12387parcourir

How Can I Perform Case-Insensitive and Partial Matches Using MongoDB's Primitive Package?

Effectuer des correspondances partielles avec le package primitif de MongoDB

Dans MongoDB, un package primitif peut être utilisé pour obtenir une valeur BSON à partir des données soumises. Cependant, lors de la mise en correspondance de valeurs à l'aide d'une expression régulière, il est essentiel de prendre en compte le respect de la casse et les correspondances partielles.

Correspondance insensible à la casse

La structure Regex du package primitif permet une correspondance régulière correspondance d'expression. Pour effectuer une correspondance insensible à la casse, ajoutez l'option "i" au champ Options comme suit :

import (
    "github.com/mongodb/mongo-go-driver/bson/primitive"
)

school := "Havard"
value := primitive.Regex{Pattern: school, Options: "i"}

Avec cette modification, l'expression régulière correspondra à la fois à "Havard" et "hava".

Correspondances partielles

Les expressions régulières dans MongoDB autorisent les correspondances partielles par défaut. En tant que telle, l'expression régulière dans le code fourni correspondra déjà à "hava" car il s'agit d'une sous-chaîne de "Havard".

Considérations supplémentaires

  • Les caractères regex spéciaux doivent être cités en utilisant regexp.QuoteMeta(). Par exemple :

    value = primitive.Regex{Pattern: regexp.QuoteMeta(school), Options: "i"}

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