Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$text
L'$textoperatore viene utilizzato per eseguire ricerche di testo completo su campi indicizzati di testo all'interno di una raccolta di documenti. Questo operatore consente di cercare documenti che contengono parole o frasi specifiche e può essere combinato con altri operatori di query per filtrare i risultati in base a criteri aggiuntivi.
Parametri
-
$search: La stringa di testo da cercare.
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$textoperatore per cercare documenti contenenti la parola «interesse» e filtrare i risultati in base a un campo «star_rating».
Crea documenti di esempio
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" } ]);
Crea un indice di testo
db.test.createIndex({ comments: "text" });
Esempio di query
db.test.find({$and: [{star_rating: 5}, {$text: {$search: "interest"}}]})
Output
{ "_id" : 5, "star_rating" : 5, "comments" : "interesting couch" }
{ "_id" : 6, "star_rating" : 5, "comments" : "interested in couch for sale, year 2022" }
Il comando precedente restituisce documenti con un campo indicizzato in testo contenente qualsiasi forma di «interesse» e un «star_rating» pari a 5.
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $text comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: