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 valor del campo consultado keyId y el tipo y algoritmo de consulta del encOptions documento. Devuelve el resultado cifrado de la consulta.

Devuelve:

El resultado cifrado de la consulta 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.

El UUID es un binary data objeto BSON 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, devuelveencryptExpression() un error. Consulte Colecciones de almacenes de claves para obtener más información sobre almacenes de claves y claves de cifrado de datos.

expression

Documento

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

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

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

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

encOptions

Documento

Un documento con los campos:

  • algorithmEl algoritmo de cifrado que se usará para cifrar expression. Debe establecerse en "range".

  • queryType: El tipo de consulta. Debe establecerse en "range".

  • rangeOptionsUn documento con configuración de consulta de rango. Los valores deben coincidir con los del 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 de los campos de la expresión. Para más detalles, consulte la contención.

Los métodos de cifrado de campo y consulta del lado del cliente requieren una conexión a la base de datos configurada para el cifrado del lado del cliente. Si la conexión a la base de datos actual no se inició con el cifrado de campo del lado del cliente habilitado, puede ocurrir lo mongosh siguiente:

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 cómo iniciar conexiones MongoDB con el cifrado a nivel de campo del lado del cliente o el cifrado consultable habilitados,Mongo() consulte.

Volver

ClientEncryption.encrypt

En esta página