Binary (Dados Binários)
Última atualização: 2026-10-09
Binary (Dados Binários)
Binary armazena imagens, arquivos, dados criptografados e UUIDs — mais compacto que strings Base64, com subtipos (0 genérico, 2 binário antigo, 3 UUID legado, 4 UUID, 7 criptografado). Armazene diretamente dentro do limite de 16MB por documento; use GridFS para arquivos maiores. No mongosh, construa com `BinData(subtype, 'base64')` ou `Binary.createFromBase64('...')`.
| Categoria | Tipos BSON |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
BinData(<subtype>, "<base64>")
UUID("<uuid string>")
Binary.createFromBase64("<base64>")
Retorno:Retorna um valor BSON Binary
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// Binary: armazena dados binários
use shop
db.files.insertOne({ name: 'logo.png', data: BinData(0, 'iVBORw0KGgo=') })
Saída:
{ _id: ObjectId('...'), name: 'logo.png', data: Binary.createFromBase64('iVBORw0KGgo=') }
📌 Notas
- Arquivos grandes pertencem ao GridFS, não aos documentos (limite de 16MB)
- Armazene UUIDs como subtipo 4 para consistência entre drivers
- Strings Base64 custam ~33% mais espaço que Binary
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QPosso armazenar imagens diretamente no MongoDB?
AAbaixo de 16MB, sim — use um campo Binary; além disso, use GridFS ou armazenamento de objetos.
QComo um UUID é armazenado no MongoDB?
AComo Binary subtipo 4 (UUID); os drivers convertem automaticamente.
QBinary ou string Base64?
AUse Binary para dados binários (compacto, com subtipos); String para texto.