ClientEncryption.encryptExpression(keyId, expression, encOptions)ClientEncryption.encryptExpressioncriptografa uma expressão MQL para consultar um índice de intervalo, usando okeyIddo campo consultado e o tipo de query e algoritmo do documentoencOptions. Retorna o resultado criptografado da query.Retorna: O resultado criptografado da query como um
binary dataobjeto 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()domongoshpara 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
mongoshpara 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().