对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

$encStrNormalizedEq(表达式操作符)

8.2版本新增。

注意

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

$encStrNormalizedEq

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

注意

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

$encStrNormalizedEq表达式采用以下操作符表达式语法:

{ $encStrNormalizedEq: { input: ’$fieldname’, string<target search key> } }
  • 区分大小写和区分变音符号由关联文本搜索索引的配置决定。
  • 搜索匹配空白字符。

  • 匹配时不考虑换行符。

  • 不支持分词分隔符。

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

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

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

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

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

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

mongosh 中:

db.collection('MyCollection').aggregate([
{
$match: {
$expr: {
$encStrNormalizedEq: {
input: '$employeeLastName',
string: 'Béatrice'
}
}
}
}
])
给本页内容打分

在此页面上