Definición
Crea un objeto de datos binarios.
BinData tiene la siguiente sintaxis:
BinData(<sub_type>,<buffer>)- ParameterTipoDescripción
sub_typeentero
El tipo binario.
subtipoDescripción0
Subtipo binario genérico
1
Función
2
Arreglo de bytes
3
UUID ANTIGUO
4
UUID
5
md5
128
Definido por el usuario
bufferstring
El objeto de buffer que contiene datos binarios debe ser un valor de string codificado en base 64.
Devuelve: Un objeto de datos binarios.
Compatibilidad
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.
Comportamiento
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:
Los valores BinData funcionan como máscaras de bits y se interpretan como si fueran números sin signo de longitud arbitraria en formato little-endian. El byte de menor dirección siempre se interpreta como el byte menos significativo. Del mismo modo, el byte direccionable más alto en el BinData siempre se interpreta como el byte más significativo.
Ejemplos
Insertar un objeto BinData()
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) }
Obtén la longitud del objeto BinData()
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