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

Novedad 5.2 en la versión.:

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 los valores actúan como bitmasks y se interpretan como si fueran números arbitrarios sin signo y de orden de bytes de menor a mayor. El byte direccionable más bajo siempre se interpreta como el byte menos significativo. Del mismo modo, el byte de más alta dirección en el BinData siempre se interpreta como el byte más significativo.

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