Analizador BSON

BSON (JSON Binario) es el formato de serialización binaria utilizado por MongoDB para almacenar documentos. Extiende JSON con tipos adicionales como ObjectId, Date, Binary y Decimal128. Esta herramienta analiza archivos BSON y muestra el contenido como JSON con información de tipos.

Especificaciones

Casos de uso comunes

  • Inspeccionar archivos de volcado de MongoDB (.bson)
  • Depurar datos BSON en colas de mensajes o cachés
  • Analizar capturas del protocolo de red de MongoDB
  • Convertir BSON a JSON para herramientas externas
  • Auditar la estructura y tipos del documento

Funcionalidades

  • Analizar archivos binarios BSON mediante arrastrar y soltar o selección de archivo
  • Decodificar datos BSON codificados en hexadecimal
  • Mostrar todos los tipos BSON incluyendo ObjectId, Date, Binary, Regex, Decimal128
  • Convertir a JSON con notación JSON extendida
  • Mostrar metadatos del documento (tamaño, cantidad de campos, profundidad máxima)
  • Listar todos los ObjectIds y fechas encontrados en el documento
  • Mostrar tamaños de campos binarios y tipos de extensión
  • Visor hexadecimal para inspección binaria sin procesar

Ejemplos

Documento BSON simple

Pruébalo →

Un documento BSON mínimo con un solo campo: {"hello":"world"}

16 00 00 00 02 68 65 6c 6c 6f 00 06 00 00 00 77 6f 72 6c 64 00 00

BSON codificado en hexadecimal

Pruébalo →

Un documento BSON con cadena, número y booleano: {"name":"Alice","age":30,"active":true}

27 00 00 00 02 6e 61 6d 65 00 06 00 00 00 41 6c 69 63 65 00 10 61 67 65 00 1e 00 00 00 08 61 63 74 69 76 65 00 01 00

Consejos

  • Puede pegar datos BSON codificados en hexadecimal directamente para analizarlos.
  • Los archivos BSON se pueden crear con: mongoexport --collection=users --out=users.bson
  • Los ObjectIds contienen una marca de tiempo; extraerla con: new ObjectId().getTimestamp()
  • BSON soporta más tipos que JSON: fechas, binarios, expresiones regulares y decimales.
  • El tamaño máximo de un documento BSON en MongoDB es 16 MB.

Comprender Analizador BSON

BSON (JSON Binario) es el formato de serialización binaria utilizado internamente por MongoDB para almacenar y transmitir documentos. Mientras que JSON representa todos los datos como cadenas, números, booleanos, arrays y objetos, BSON extiende esto con tipos adicionales que las bases de datos necesitan: ObjectId (un identificador único de 12 bytes), Date (marcas de tiempo con precisión de milisegundos), Binary (arrays de bytes arbitrarios), Decimal128 (aritmética decimal exacta) y expresiones regulares.

Los documentos BSON tienen prefijo de longitud, lo que significa que cada documento y documento incrustado comienza con un campo de tamaño de 4 bytes. Esto permite a los analizadores saltar documentos sin decodificarlos completamente, habilitando escaneo e indexación eficientes. Cada elemento está etiquetado con un byte de tipo, seguido del nombre del campo como una cadena C, seguido del valor en una codificación específica del tipo.

MongoDB almacena documentos como BSON internamente, los transmite a través del protocolo de red y los exporta con mongodump como archivos .bson. Comprender BSON es esencial para depurar aplicaciones MongoDB, analizar archivos de volcado y trabajar con el protocolo de red. El formato JSON extendido proporciona una representación legible para humanos que preserva la información de tipos de BSON.

BSON no siempre es más pequeño que JSON. Las cadenas cortas y los números pequeños pueden ser realmente más grandes en BSON debido al byte de tipo y la sobrecarga del prefijo de longitud. La ventaja de BSON no es el tamaño sino la velocidad — el formato con prefijo de longitud permite un recorrido rápido y los tipos extendidos proporcionan soporte nativo para fechas, datos binarios y decimales de alta precisión sin convenciones de codificación.

ObjectId es un tipo BSON de 12 bytes utilizado como _id predeterminado en documentos MongoDB. Contiene una marca de tiempo de 4 bytes (segundos desde epoch), 5 bytes de valor aleatorio (único por máquina/proceso) y un contador incremental de 3 bytes. Este diseño asegura unicidad entre servidores distribuidos sin ninguna coordinación. La marca de tiempo incrustada significa que puede extraer el tiempo de creación de un documento con ObjectId.getTimestamp().

Los archivos de volcado de MongoDB (.bson) creados por mongodump son documentos BSON sin procesar concatenados. Puede pegar datos BSON codificados en hexadecimal en esta herramienta para analizar documentos individuales. Alternativamente, la utilidad bsondump (incluida con MongoDB Database Tools) puede convertir archivos .bson a JSON en la línea de comandos para inspección masiva.

← Volver a todas las herramientas