BinData()
Nesta página
Definição
Cria um objeto de dados binários.
BinData
tem a seguinte sintaxe:
BinData(<sub_type>,<buffer>)
- ParâmetroTipoDescrição
sub_type
inteiroO tipo binário.
SubtipoDescrição0Subtipo binário genérico1Função2Array de bytes3UUID ANTIGO4UUID5md5128Definido pelo usuáriobuffer
stringO objeto de buffer que contém dados binários deve ser um valor de string codificado de base 64.Retorna: Um objeto de dados binários.
Comportamento
Aendianidade do seu sistema depende da arquitetura da sua máquina. Os números nos dados BSON são sempre armazenados como little-endian, se o seu sistema for big-endian , isso significa que os dados numéricos são convertidos entre big e little endian.
No contexto dos operadores de expressão de correspondência de teste de bit:
Os valores BinData
funcionam como máscaras de bits e são interpretados como se fossem números little endian sem sinal de comprimento arbitrário. O byte de menor endereçamento é sempre interpretado como o byte menos significativo. Da mesma forma, o byte endereçável mais alto no BinData
é sempre interpretado como o byte mais significativo.
Exemplos
Inserir um BinData()
objeto
Utilize o construtor BinData()
para criar a variável bdata
.
var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")
Insira o objeto na coleção testbin
.
db.testbin.insertOne( { _id : 1, bin_data: bdata } )
Consulte a coleção testbin
para obter o documento inserido.
db.testbin.find()
Você pode ver o buffer
binário armazenado na coleção.
{ _id: 1, bin_data: Binary(Buffer.from("81fd547317474c9d8743f10642b3bb99", "hex"), 0) }
Obtenha o comprimento de BinData()
objeto
Utilize o construtor BinData()
para criar a variável bdata
.
var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")
Use .length()
para retornar o comprimento em bits do objeto.
bdata.length()
O valor devolvido é:
16