ClientEncryption.encryptExpression(keyId, expression, encOptions)
ClientEncryption.encryptExpression
criptografa uma expressão MQL para consultar um índice de intervalo, usando okeyId
do campo consultado e o tipo de query e algoritmo do documentoencOptions
. Retorna o resultado criptografado da query.Retorna: O resultado codificado da query como um objeto
binary data
com subtipo 6.
Compatibilidade
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
Sintaxe
clientEncryption = db.getMongo().getClientEncryption() clientEncryption.encryptExpression( keyId, expression, encOptions )
Parâmetro | Tipo | Descrição |
---|---|---|
|
| A chave de criptografia de dados para o campo consultado na expressão. O UUID é um |
| documento | A expressão de query de intervalo a ser criptografada, como um dos seguintes:
|
| documento | Um documento com os campos:
|
Comportamento
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:
Utilize o construtor
Mongo()
domongosh
para estabelecer uma conexão com as opções de criptografia do nível do campo do lado do cliente exigido. O métodoMongo()
suporta os seguintes fornecedores de serviço de gerenciamento de chaves (KMS) para gerenciamento da chave mestra do cliente (CMK):
ou
Utilize as opções da linha de comando do
mongosh
para estabelecer uma conexão com as opções exigidas. As opções de linha de comando são compatíveis apenas com o fornecedor Amazon Web Services KMS para gerenciamento da chave mestra do cliente.
Exemplos
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.
Saiba mais
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()
.