Docs 菜单
Docs 主页
/
数据库手册
/ / /

$encStrNormalizedEq(加密聚合操作符)

8.2版本新增

注意

$encStrNormalizedEq聚合操作符符仅适用于启用了 Queryable Encryption的集合中的加密字段。对于未加密字段,请使用“文本搜索”运算符来匹配子字符串。

$encStrNormalizedEq

true如果规范化字符串值与指定字符串的规范化字符串版本匹配,则返回 。查询的字段必须启用子字符串查询,并且查询字符串的长度必须介于配置的最小字符数和最大字符数之间(含)。

注意

该操作符必须对文本搜索索引进行操作。

$encStrNormalizedEq 表达式采用以下运算符表达式语法

{ $encStrNormalizedEq: <string> }
  • 区分大小写和区分变音符号由关联文本搜索索引的配置决定。

  • 搜索匹配空白字符。

  • 匹配时不考虑换行符。

  • 不支持分词分隔符。

以字符 é 为例,它可以用两种方式表示:

  • 一个代码点U+00E9(带锐音符号的拉丁小写字母 E)

  • 两个代码点,U+0065(拉丁小写字母 E)后跟 U+0301(组合锐音符)

在比较 Béatrice 名字的两种不同表示形式时:

  • 使用$eq 的结果为false ,因为二进制表示形式不同。

  • 无论diacriticSensitive 设置如何,使用 $encStrNormalizedEq的计算结果均为 ,因为该操作符在比较这两个字符串之前会对它们进行规范化。true

mongosh 中:

db.collection('MyCollection', function (err, collection) {
collection.aggregate([
$match: {
'employeeLastName': { $encStrNormalizedEq: 'Béatrice' }
}])

后退

$encStrEndsWith

在此页面上