Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Habilitando Queryable Encryption cuando se Crean Colecciones

Habilitar el cifrado consultable durante la creación de la colección. No puedes cifrar campos en documentos que ya forman parte de una colección.

Importante

Cree explícitamente su colección, en lugar de crearla implícitamente con una operación de inserción. Cuando creas una colección usando createCollection(), MongoDB crea un índice en los campos cifrados. Sin este índice, las queries en campos cifrados pueden ejecutarse lentamente.

Puedes habilitar la Queryable Encryption en los campos de dos maneras. Los siguientes ejemplos utilizan Node.js para habilitar Queryable Encryption:

  • Pase el esquema de cifrado, representado por la constante encryptedFieldsObject, al cliente que la aplicación usa para crear la colección:

    const client = new MongoClient(uri, {
    autoEncryption: {
    keyVaultNameSpace: "<your keyvault namespace>",
    kmsProviders: "<your kms provider>",
    extraOptions: {
    cryptSharedLibPath: "<path to Automatic Encryption Shared Library>"
    },
    encryptedFieldsMap: {
    "<databaseName.collectionName>": { encryptedFieldsObject }
    }
    }
    ...
    await client.db("<database name>").createEncryptedCollection("<collection name>");
    }

    Para obtener más información sobre las opciones de configuración de autoEncryption, consulte la sección Opciones MongoClient para Queryable Encryption.

  • Pasa el esquema de cifrado encryptedFieldsObject a createEncryptedCollection():

    await encryptedDB.createEncryptedCollection("<collection name>", {
    encryptedFields: encryptedFieldsObject
    });

    Tip

    Especifica el encryptedFieldsObject cuando crees la colección y también cuando crees un cliente para acceder a la colección. Para obtener más información sobre las consideraciones de seguridad de no definir el encryptedFieldsObject, consulta Consideraciones de seguridad.