Queryable Encryption equality and range queries are fully supported in production. Prefix, suffix, and substring queries are only available in public preview in MongoDB 8.2. Do not enable these query types in production. GA functionality of prefix, suffix and substring query types will be incompatible with the preview feature. To learn more, see Supported Query Types.
Overview
コレクション作成時にQueryable Encryptionを有効にしました。 すでにコレクション内にあるドキュメントのフィールドを暗号化することはできません。
重要
コレクションを 挿入操作で暗黙的に作成するのではなく、明示的にコレクションを作成します。 createCollection()を使用してコレクションを作成すると、 MongoDBは暗号化されたフィールドにインデックスを作成します。 このインデックスがないと、暗号化されたフィールドに対するクエリの実行が遅くなる可能性があります。
コレクションでの Queryable Encryption の有効化
2 つの方法のいずれかの方法で、フィールドで 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構成オプションの詳細については、 Queryable Encryptionの MongoClient オプション のセクションを参照してください。暗号化スキーマ
encryptedFieldsObjectをcreateEncryptedCollection()に渡します。await encryptedDB.createEncryptedCollection("<collection name>", { encryptedFields: encryptedFieldsObject }); Tip
コレクションを作成する とき、およびコレクションにアクセスするためのクライアントを作成する ときに、
encryptedFieldsObjectを指定します。encryptedFieldsObjectを定義しない場合のセキュリティ上の考慮事項の詳細については、「 セキュリティに関する考慮事項 」を参照してください。