Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

ClientEncryption.encryptExpression() (método mongosh)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression criptografa uma expressão MQL para consultar um índice de faixa, usando o campo query keyId e o tipo de query e o 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: The fully managed service for MongoDB deployments in the cloud
  • 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.

The UUID is a BSON binary data object with subtype 4 that identifies a specific data encryption key. If the data encryption key does not exist in the key vault configured for the database connection, encryptExpression() returns an error. See Key Vault Collections for more information on key vaults and data encryption keys.

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.

The mongosh client-side field level and queryable encryption methods require a database connection configured for client-side encryption. If the current database connection was not initiated with client-side field level encryption enabled, either:

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().