map() (Transformar Cursor)
Última atualização: 2026-10-09
map() (Transformar Cursor)
map() aplica uma transformação a cada documento de um cursor e retorna os resultados como um array, ex.: `db.users.find().map(function(u) { return u.name })`. Pense em forEach() mais coleta de resultados — útil para extrair campos ou remodelar dados. Observe que map() consome o cursor inteiro e retorna um array, não um novo cursor.
| Categoria | Cursor |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<filter>).map(<transform>)
⚙️ Parâmetros
| função de transformação | Função que mapeia um documento para um novo valor, por exemplo function(u) { return u.name }. |
|---|
Retorno:Matriz de valores transformados.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// map: extrai os nomes de todos os usuários adultos
const names = db.users.find({ age: { $gte: 18 } }).map(u => u.name)
names
Saída:
[ 'Alice', 'Bob', 'Cara' ]
📌 Notas
- map() consome o cursor e retorna um array
- A transformação produz novos valores; os documentos do banco ficam intactos
- Termine o encadeamento do cursor primeiro, depois mapeie para um array
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre map e forEach?
Amap() retorna um array de valores transformados para extração; forEach() executa um callback e não retorna nada.
QO resultado de map é um array?
ASim, map() retorna um array — como forEach mais coleta de resultados.
QO map modifica documentos no banco?
ANão — a transformação roda em cópias em memória no cliente.