对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

创建collection时启用 Queryable Encryption

在创建集合时启用Queryable Encryption 。 您无法对已在集合中的文档上的字段进行加密。

重要

显式创建集合,而不是使用插入操作隐式创建集合。在您使用 createCollection() 创建集合时,MongoDB 在加密字段上创建索引。如果没有该索引,对加密字段的查询可能运行缓慢。

您可以通过以下两种方式之一对字段启用 Queryable Encryption。 以下示例使用 Node.js 启用 Queryable Encryption:

  • encryptedFieldsObject 常量表示的加密模式传递给应用程序用于创建集合的客户端:

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

    有关 autoEncryption 配置选项的更多信息,请参阅 MongoClient 的 Queryable Encryption 选项一节。

  • 将加密模式encryptedFieldsObject传递给createEncryptedCollection()

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

    提示

    在创建集合以及创建客户端以访问权限集合时指定 encryptedFieldsObject。 有关不定义encryptedFieldsObject 的安全注意事项的更多信息,请参阅安全注意事项。