Definición
Crea un objeto de datos binarios.
BinData tiene la siguiente sintaxis:
BinData(<sub_type>,<buffer>)- ParameterTipoDescripción
sub_typeentero
The binary subtype
bufferstring
El objeto buffer que contiene datos binarios. Debe ser un valor de string codificado en base 64.
Devuelve: Un objeto de datos binarios.
Subtipos 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 |
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:
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.
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