$binarySize (Tamanho do Binário)
Última atualização: 2026-10-09
$binarySize (Tamanho do Binário)
$binarySize retorna o tamanho em bytes de dados binários (BinData); dada uma string, retorna o comprimento em bytes UTF-8. É usado para monitoramento de tamanho de anexos, limites de upload ou contabilidade de armazenamento. Entradas que não são nem binárias nem string geram erro. Para strings, o resultado coincide com $strLenBytes. Um binário vazio retorna 0.
| Categoria | String |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $binarySize: <expressão> }
⚙️ Parâmetros
| expressão | Obrigatório; uma expressão binária ou de string. |
|---|
Retorno:O tamanho em bytes como inteiro.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $binarySize: tamanhos de anexos
db.files.aggregate([
{ $project: { size: { $binarySize: '$data' } } }
])
Saída:
{ "_id": 1, "size": 4096 }
{ "_id": 2, "size": 0 }
📌 Notas
- BinData produz bytes; strings produzem bytes UTF-8
- Outros tipos (números, documentos) geram erro
- Um binário vazio retorna 0
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QStrings podem ser passadas?
ASim — contadas como bytes UTF-8.
QO que acontece com um número?
AGera erro — apenas binário ou string é aceito.
QÉ o mesmo que $strLenBytes?
AIdêntico para strings; $binarySize também lida com BinData.