Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

ClientEncryption.encryptExpression() (método mongosh)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression encripta un Expresión MQL para consultar un índice de rango, utilizando el keyId del campo consultado y el tipo de consulta y algoritmo del documento encOptions. Devuelve el resultado cifrado de la query.

Devuelve:

El resultado cifrado de la query como un objeto binary data con subtipo 6.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

clientEncryption = db.getMongo().getClientEncryption()
clientEncryption.encryptExpression(
keyId,
expression,
encOptions
)
Parameter
Tipo
Descripción

keyId

UUID

La clave de cifrado de datos para el campo consultado en la expresión.

La UUID es un objeto BSON binary data con subtipo 4 que identifica una clave de cifrado de datos específica. Si la clave de cifrado de datos no existe en el almacén de claves configurado para la conexión a la base de datos, encryptExpression() devuelve un error. Consulte Colección de Bóvedas de Llaves para obtener más información sobre Key Vaults y llaves de cifrado de datos.

expression

Documento

La expresión de consulta de rango a cifrar, como una de las siguientes:

  • una expresión $match con la forma: {$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}

  • una aggregate expresión en la forma: {$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}]}

Las expresiones también pueden usar $lte o $gte

encOptions

Documento

Un documento con los campos:

  • algorithm: El algoritmo de cifrado para usar en el cifrado del expression. Debe establecerse en "range".

  • queryTypeTipo de consulta. Debe establecerse en "range".

  • rangeOptionsDocumento con configuración de consultas de rango. Los valores deben coincidir con los de la esquema de cifrado de la colección.

    • min, max: valores mínimos y máximos que coinciden con el tipo BSON del campo.

    • precision:La cantidad de dígitos significativos que MongoDB tiene en cuenta al consultar los campos double y decimal128.

    • sparsity:Afecta el grado de detalle con el que MongoDB indexa los valores de rango.

    • trimFactor:Controla el rendimiento de inserciones y actualizaciones simultáneas.

  • contentionFactor: Relacionado con la frecuencia de los valores para los campos en la expresión. Para más detalles, consulta la contención.

Los métodos mongosh de cifrado a nivel de campo del lado del cliente y Queryable Encryption requieren una conexión de base de datos configurada para el cifrado del lado del cliente. Si la conexión actual a la base de datos no se inició con el cifrado a nivel de campo del lado del cliente habilitado, entonces:

or

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
})

Si tiene éxito, ClientEncryption.encryptExpression devuelve el resultado de la consulta cifrado.

Para obtener documentación completa sobre el inicio de conexiones de MongoDB con el cifrado a nivel de campo del lado del cliente o Queryable Encryption habilitado, consulte Mongo().

Volver

ClientEncryption.encrypt

En esta página