Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/
データベース マニュアル
/ / /

ClientEncryption.encryptExpression() (mongosh method)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression は、クエリ対象フィールドの と ドキュメントのクエリタイプとアルゴリズムを使用して、 範囲インデックスをクエリするための MQL式を暗号化します。keyIdencOptionsクエリの暗号化された結果を返します。

次の値を返します。

The encrypted result of the query as a binary data object with subtype 6.

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

clientEncryption = db.getMongo().getClientEncryption()
clientEncryption.encryptExpression(
keyId,
expression,
encOptions
)
Parameter
タイプ
説明

keyId

UUID

式でクエリされるフィールドのデータ暗号化のキー。

UUID は、特定のデータ暗号化のキーを識別するサブタイプ を持つBSONbinary data 4オブジェクトです。データ暗号化のキーがデータベース接続用に構成されたキーヴォールトに存在しない場合、encryptExpression() はエラーを返します。キーヴォールトとデータ暗号化キーの詳細については、「 キーヴォールトのコレクション 」を参照してください。

expression

ドキュメント

暗号化する範囲式(次のいずれか)。

  • 次の形式の $match 式: {$and: [{<field>: {$gt: <value1>}}, {<field>: {$lt: <value2> }}]}

  • 次の形式の aggregate 式: {$and: [{$gt: [<fieldpath>, <value1>]}, {$lt: [<fieldpath>, <value2>]}]}

式では、$lte または$gte も使用できます

encOptions

ドキュメント

次のフィールドを持つドキュメント。

  • algorithm: expression の暗号化に使用する暗号化アルゴリズム。"range" に設定する必要があります。

  • queryType: クエリの種類。"range" に設定する必要があります。

  • rangeOptions: 範囲クエリ設定 を持つドキュメント。値は、コレクションの暗号化スキーマ内の値と一致する必要があります。

    • minmax: フィールドのBSON型に一致する最小値と最大値。

    • precision: double フィールドと decimal128 フィールドをクエリする際のMongoDBアカウントの有効桁数。

    • sparsity: MongoDB が範囲値を十分にインデックス化するかに影響します。

    • trimFactor: 同時挿入および更新のスループットを制御します。

  • contentionFactor:式内のフィールドの値の頻度に関連します。詳細については、コンテンツを参照してください。

mongoshクライアント側のフィールド レベルとQueryable Encryptionメソッドでは、クライアント側の暗号化用に構成されたデータベース接続が必要です。 現在のデータベース接続がクライアント側のフィールド レベル暗号化を有効にして開始されなかった場合、次のいずれかが発生します。

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

成功した場合、ClientEncryption.encryptExpression は暗号化されたクエリ結果を返します。

クライアント側フィールドレベル暗号化またはQueryable Encryptionを有効にしてMongoDB接続を開始する方法に関する詳細なドキュメントについては、Mongo() をご覧ください。

戻る

ClientEncryption.encrypt

項目一覧