Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / /

ClientEncryption.encryptExpression() (método mongosh)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression criptografa uma expressão MQL para consultar um índice de intervalo, usando o keyId do campo consultado e o tipo de query e algoritmo do documento encOptions. Retorna o resultado criptografado da query.

Retorna:

O resultado codificado da query como um objeto binary data com subtipo 6.

Esse comando 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

clientEncryption = db.getMongo().getClientEncryption()
clientEncryption.encryptExpression(
keyId,
expression,
encOptions
)
Parâmetro
Tipo
Descrição

keyId

UUID

A chave de criptografia de dados para o campo consultado na expressão.

O UUID é um binary data objeto BSON com subtipo 4 que identifica uma chave de criptografia de dados específica. Se a chave de criptografia de dados não existir no cofre de chave configurado para a conexão do banco de dados , retornará umencryptExpression() erro. Consulte Key Vault Collections para obter mais informações sobre cofres de chaves e chaves de criptografia de dados.

expression

documento

A expressão de query de intervalo a ser criptografada, como um dos seguintes:

  • uma $match expressão no formato: {$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}

  • uma expressãoaggregate no formato: {$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}]}

Expressões também podem utilizar $lte ou $gte

encOptions

documento

Um documento com os campos:

  • algorithm: o algoritmo de criptografia para criptografar o expression. Deve ser definido como "range".

  • queryType: O tipo de query. Deve ser definido como "range".

  • rangeOptions: Um documento com configurações de query de intervalo. Os valores devem corresponder aos do esquema de criptografia da coleção.

    • min, max: Valores mínimo e máximo que correspondem ao tipo de BSON do campo.

    • precision: o número de dígitos significativos que o MongoDB considera ao executar queries dos campos double e decimal128.

    • sparsity: afeta o quão completamente os valores de índice do MongoDB indexam.

    • trimFactor: controla a taxa de transferência de inserções e atualizações simultâneas.

  • contentionFactor: Relacionado à frequência dos valores para campos na expressão. Para obter detalhes, consulte contenção.

Os métodos de nível do campo no lado do cliente e Queryable Encryption do mongosh exigem uma conexão de banco de dados configurada para criptografia do lado do cliente. Se a conexão atual do banco de dados não tiver sido iniciada com a criptografia em nível de campo do lado do cliente ativada, faça o seguinte:

ou

clientEncryption.encryptExpression(
UUID("64e2d87d-f168-493c-bbdf-a394535a2cb9"),
{
$and: [{ val: { $gt: Int32('100') } }, { val: { $lt: Int32('150') } }]
},
{
algorithm: 'range',
queryType: 'range',
rangeOptions: { min: Int32('0'), max: Int32('200') },
contentionFactor: 8
})

Se for bem-sucedido, ClientEncryption.encryptExpression retornará o resultado da query criptografada.

Para obter a documentação completa sobre o início de conexões MongoDB com o Client-Side Field Level Encryption ou o Queryable Encryption ativado, consulte Mongo().

Voltar

ClientEncryption.encrypt

Nesta página