Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

BinData() (método mongosh)

Crea un objeto de datos binarios.

BinData tiene la siguiente sintaxis:

BinData(<sub_type>,<buffer>)
Parameter
Tipo
Descripción

sub_type

entero

buffer

string

El objeto buffer que contiene datos binarios. Debe ser un valor de string codificado en base 64.

Devuelve:

Un objeto de datos binarios.

Especifique uno de los siguientes valores para sub_type:

Número
Descripción

0

Subtipo binario genérico

1

Datos de funciones

2

Binario (antiguo)

3

UUID (antiguo)

4

UUID

5

md5

6

Valor BSON cifrado

7

Datos de series de tiempo comprimidos

Nuevo en la versión 5.2.

8

Datos sensibles, como una clave o un secreto. MongoDB no registra valores literales para datos binarios con subtipo 8. En cambio, MongoDB registra un valor de marcador de posición de ###.

9

Datos vectoriales, que son arreglos densamente empaquetados de números del mismo tipo.

128

Datos personalizados

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

La endianidad de tu sistema depende de la arquitectura de tu equipo. Los números en los datos BSON siempre se almacenan como little-endian, y si tu sistema es big-endian esto significa que los datos numéricos se convierten entre big y little endian.

En el contexto de los operadores de expresiones de coincidencia de prueba de bits:

BinData values act as bitmasks and are interpreted as though they are arbitrary-length unsigned little-endian numbers. The lowest-addressable byte is always interpreted as the least significant byte. Similarly, the highest-addressable byte in the BinData is always interpreted as the most significant byte.

Utiliza el constructor BinData() para crear la variable bdata.

var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")

Inserte el objeto en la colección testbin.

db.testbin.insertOne( { _id : 1, bin_data: bdata } )

Realiza una consulta en la colección testbin para el documento insertado.

db.testbin.find()

Puedes ver el buffer binario almacenado en la colección.

{
_id: 1,
bin_data: Binary(Buffer.from("81fd547317474c9d8743f10642b3bb99", "hex"), 0)
}

Utiliza el constructor BinData() para crear la variable bdata.

var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")

Usar.length() para devolver la longitud en bits del objeto.

bdata.length()

El valor devuelto es:

16