AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

ClientEncryption.encryptExpression()(mongoshメソッド)

ClientEncryption.encryptExpression(keyId, expression, encOptions)

ClientEncryption.encryptExpression MQL 式 を暗号化して範囲インデックスをクエリするには、クエリされたフィールドの keyId および encOptions ドキュメントからのクエリの種類とアルゴリズムを使用します。クエリの暗号化された結果を返します。

次の値を返します。

サブタイプ を持つbinary data 6オブジェクトとしてのクエリの暗号化された結果。

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

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

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

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

keyId

UUID

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

The UUID is a BSON binary data object with subtype 4 that identifies a specific data encryption key. If the data encryption key does not exist in the key vault configured for the database connection, encryptExpression() returns an error. See Key Vault Collections for more information on key vaults and data encryption keys.

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

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

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

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

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

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

The mongosh client-side field level and queryable encryption methods require a database connection configured for client-side encryption. If the current database connection was not initiated with client-side field level encryption enabled, either:

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() をご覧ください。

このページを評価