$meta (Metadados de Busca de Texto)
Última atualização: 2026-10-09
$meta (Metadados de Busca de Texto)
$meta projeta metadados de uma busca $text, mais comumente a pontuação de relevância textScore. `{ score: { $meta: 'textScore' } }`. Ele funciona apenas com uma consulta $text, e você deve projetar textScore antes de ordenar por ele — o padrão por trás dos resultados de busca ordenados por relevância.
| Categoria | Projeção |
|---|---|
| Versão do MongoDB | 2.6+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ <campo de saída>: { $meta: 'textScore' } }
⚙️ Parâmetros
| campo de saída | O campo que recebe os metadados, por exemplo score. |
|---|---|
| nome dos metadados | Atualmente 'textScore'. |
Retorno:Resultados da consulta com um campo de metadados extra
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $meta: projeta textScore e ordena por relevância
db.articles.find(
{ $text: { $search: 'mongodb' } },
{ title: 1, score: { $meta: 'textScore' } }
).sort({ score: { $meta: 'textScore' } })
Saída:
// Retorna títulos com pontuações de relevância, ordenados em ordem decrescente
📌 Notas
- Funciona apenas com uma consulta $text
- Projete textScore antes de ordenar por ele
- Quanto maior o textScore, maior a relevância
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQuais metadados $meta pode retornar?
APrincipalmente textScore, a pontuação de relevância de texto.
QPor que projetar textScore antes de ordenar?
Asort só pode referenciar campos visíveis à consulta, então projete-o primeiro.
Q$meta funciona apenas com $text?
ASim, ele é específico da busca de texto.