Ce que cet article vous apporte est une introduction à la méthode (code) de mgo spécifiant la longueur de la chaîne pour trouver des données. J'espère qu'il a une certaine valeur de référence. cela vous aidera. Vous avez aidé.
Dans mon travail, je filtre occasionnellement certaines données en fonction de la longueur du champ de chaîne. À ce stade, je peux utiliser des expressions régulières ou les $where de mongodb sont écrits correctement dans différentes langues. différences, je vais donc les enregistrer ici.
Si vous recherchez des données avec une longueur de chaîne de champ de commentaire supérieure à 10, la ligne de commande mongodb s'écrit comme suit :
$where s'écrit :
find({"comment":{"$exists":true},"$where":"this.comment.length>10"})
Écriture d'expressions régulières :
find({"comment":{"$regex":/^.{10,}$/}})
La méthode d'écriture en langage go est la suivante :
$where méthode d'écriture :
collection.Find(bson.M{"comment": bson.M{"$exists": true}, "$where": "this.comment.length > 10"})
Méthode d'écriture d'expression régulière :
collection.Find(bson.M{"comment": bson.M{"$exists": true, "$regex": bson.RegEx{`^.{10,}$`, ""}}})
D'autres conditions sont régulières :
^.{n,m}$ n <= longueur<= m
^.{n}$ length= n
Cette longueur est la longueur des caractères. Par exemple, la longueur de "l'expression régulière" est de 5
En ce qui concerne les performances de recherche, on dit sur Internet que l'expression régulière a de meilleures performances que $where, et c'est simple quand la quantité de données n'est pas importante, il est vrai que les performances de recherche régulières sont meilleures que j'aurai le temps d'effectuer. recherche approfondie plus tard
Cet article est terminé ici Pour d'autres contenus passionnants, vous pouvez prêter attention à la colonne du site Web PHP chinoistutoriel vidéo mongodb !
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!