$meta (proiezione)
SI APPLICA A: MongoDB vCore
L'operatore $meta
di proiezione viene usato per includere i metadati nei risultati di una query. È utile per includere metadati come i punteggi di ricerca del testo o altri valori calcolati nei documenti di output.
Sintassi
La sintassi per l'uso dell'operatore di $meta
proiezione è la seguente:
db.collection.find( {$text: { $search: <string> } },
{ field: { $meta: <metaDataKeyword> }
}
)
Parametri
Descrizione | |
---|---|
field |
Nome del campo nei documenti di output in cui vengono inclusi i metadati. |
metaDataKeyword |
Tipo di metadati da includere parole chiave comuni, ad textScore esempio per i punteggi di ricerca di testo. |
Esempio
Ecco l'esempio per illustrare l'utilizzo dell'operatore $meta
di proiezione.
Esempio 1: Inclusione dei punteggi di ricerca del testo
È disponibile una raccolta denominata stores
e si vuole includere il punteggio di ricerca del testo nei risultati di una query di ricerca di testo.
db.stores.createIndex({ "name": "text"});
db.stores.find(
{ $text: { $search: "Equipment Furniture Finds" } },
{ _id: 1, name: 1, score: { $meta: "textScore" } }
).sort({ score: { $meta: "textScore" } }).limit(2)
Questa query restituisce documenti dalla stores
raccolta che corrispondono ai criteri di ricerca del testo e includono un score
campo contenente il punteggio di ricerca del testo.
{
"_id": "7a9aa41e-95bd-43c1-96cd-bcff0c3c33fb",
"name": "Fabrikam, Inc",
"score": 2
},
{
"_id": "ee51cc4c-6770-4bb7-bb61-cd0cc44cb387",
"name": "Proseware, Inc",
"score": 2
}
Limitazione
- Se non viene usato alcun indice, { $meta: "indexKey" } non restituisce nulla.
Contenuto correlato
- Esaminare le opzioni per la migrazione da MongoDB ad Azure Cosmos DB per MongoDB (vCore)
- Altre informazioni sulla compatibilità delle funzionalità con MongoDB