Queryable Encryption の等価クエリと範囲クエリは本番環境で完全にサポートされていますが、プレフィックス、サフィックス、サブストリング クエリはMongoDB 8.2 でpublic previewとしてのみ利用できます。これらのクエリ タイプは本番環境では有効にしないでください。プレフィックス、サフィックス、サブストリング クエリ タイプの GA 機能は、プレビュー機能と互換性がなくなります。
定義
バージョン8.2の新機能。
注意
$encStrContains
集計演算子は、Queryable Encryptionが有効になっているコレクション内の暗号化されたフィールドのみ。暗号化されていないフィールドの場合は、テキスト検索演算子を使用して部分文字列を一致させます。
$encStrContains
string 値内の文字のサブセットが指定された string 内の文字と一致する場合は
true
を返します。クエリフィールドでは部分文字列クエリが有効になっている必要があり、クエリ文字列の長さは設定された最小文字数と最大文字数の範囲内である必要があります。デフォルトでは 、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' } }])