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
inteirobuffer
stringO objeto de buffer contendo dados binários. Deve ser um valor de string codificada 64 base.Retorna: Um objeto de dados binários.
Subtipos binários
Especifique um dos seguintes valores para sub_type
:
Número | Descrição |
---|---|
0 | Subtipo binário genérico |
1 | Dados de Função |
2 | Binário (antigo) |
3 | UUID (antigo) |
4 | UUID |
5 | md5 |
6 | Valor BSON criptografado |
7 | Dados de série temporal compactados Novidades na versão 5.2. |
8 | Dados confidenciais, como uma chave ou segredo. O MongoDB não registra valores literais para dados binários com subtipo 8. Em vez disso, o MongoDB registra um valor de espaço reservado de ### . |
9 | Dados vetoriais, que são arrays densamente compactadas de números do mesmo tipo. |
128 | Dados personalizados |
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 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) }
Obter o comprimento do 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