Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$text
L'$textopérateur est utilisé pour effectuer une recherche en texte intégral dans les champs indexés au sein d'une collection de documents. Cet opérateur vous permet de rechercher des documents contenant des mots ou des phrases spécifiques et peut être combiné à d'autres opérateurs de requête pour filtrer les résultats en fonction de critères supplémentaires.
Paramètres
-
$search: chaîne de texte à rechercher.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser l'$textopérateur pour rechercher des documents contenant le mot « intérêt » et filtrer les résultats en fonction d'un champ « star_rating ».
Création d'exemples de documents
db.test.insertMany([ { "_id": 1, "star_rating": 4, "comments": "apple is red" }, { "_id": 2, "star_rating": 5, "comments": "pie is delicious" }, { "_id": 3, "star_rating": 3, "comments": "apples, oranges - healthy fruit" }, { "_id": 4, "star_rating": 2, "comments": "bake the apple pie in the oven" }, { "_id": 5, "star_rating": 5, "comments": "interesting couch" }, { "_id": 6, "star_rating": 5, "comments": "interested in couch for sale, year 2022" } ]);
Création d'un index de texte
db.test.createIndex({ comments: "text" });
Exemple de requête
db.test.find({$and: [{star_rating: 5}, {$text: {$search: "interest"}}]})
Sortie
{ "_id" : 5, "star_rating" : 5, "comments" : "interesting couch" }
{ "_id" : 6, "star_rating" : 5, "comments" : "interested in couch for sale, year 2022" }
La commande ci-dessus renvoie des documents contenant un champ indexé sous forme de texte contenant n'importe quelle forme d' « intérêt » et un « star_rating » égal à 5.
Exemples de code
Pour afficher un exemple de code d'utilisation de la $text commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :