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
inteiro
O tipo binário.
SubtipoDescrição0
Subtipo binário genérico
1
Função
2
Array de bytes
3
UUID ANTIGO
4
UUID
5
md5
128
Definido pelo usuário
buffer
string
O 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.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Comportamento
A endianidade 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:
BinData
Os valores atuam como bitmasks e são interpretados como se fossem números little-endian sem sinal de comprimento arbitrário. O byte endereçável mais baixo é sempre interpretado como o byte menos significativo. Da mesma forma, o byte endereçável de maior valor no BinData
é sempre interpretado como o byte mais significativo.
Exemplos
Inserir um objeto BinData()
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