Queryable Encryption のプレフィックス、サフィックス、サブストリング クエリは、 MongoDB 8.2 でpublic previewで利用できます。これらのクエリ タイプは本番環境では有効にしないでください。パブリック プレビュー機能は GA 機能と互換性がなくなるため、これらのクエリを有効にするコレクションはすべて削除する必要があります。
定義
バージョン8.2の新機能。
注意
$encStrContains
集計演算子は、 Queryable Encryptionが有効になっているコレクション内の暗号化されたフィールドのみ。暗号化されていないフィールドの場合は、 テキスト検索演算子 を使用して部分文字列を一致させます。
$encStrContains
true
string 値内の文字のサブセットが指定された string 内の文字と一致する場合は を返します。クエリフィールドでは 部分文字列クエリが有効 になっている必要があり、クエリ文字列の長さは設定された最小文字数と最大文字数の範囲内である必要があります。デフォルトでは 、string は大文字と小文字と発音区別符号を一致する必要があります。
大文字と小文字を区別しない一致には、暗号化スキーマで
caseSensitive
を に設定します。false
暗号化スキーマで
diacriticSensitive
を に設定すると、照合時に発音区別符号の違いを無視します。false
$encStrContains
式には次の演算子式の構文があります。{ $encStrContains: <string> }
動作
検索は空白文字と一致します。
一致させる場合、改行は考慮されません。
トークン化区切り文字はサポートされていません。
例
db.collection('MyCollection', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrContains: 'earso' } }])
複数のフィールドを一致させるには、次のようにします。
db.collection('MyCollection', function (err, collection) { collection.aggregate([ $match: { 'employeeLastName': { $encStrContains: 'earso' }, 'employeeLastName': { $encStrEndsWith: 'wil' } }])