文档菜单
文档首页
/
MongoDB 手册
/ / /

$strLenCP (聚合)

本页内容

  • 定义
  • 行为
  • 示例
$strLenCP

返回指定字符串中UTF-8代码点的数量。代码点在指定字符串中。

$strLenCP有以下操作符表达式语法:

{ $strLenCP: <string expression> }

参数可以是任何有效的表达式,该表达式解析为字符串。

如果参数解析为null值或引用缺失的字段,$strLenCP返回错误。

示例
结果
{ $strLenCP: "abcde" }
5
{ $strLenCP: "Hello World!" }
12
{ $strLenCP: "cafeteria" }
9
{ $strLenCP: "cafétéria" }
9
{ $strLenCP: "" }
0
{ $strLenCP: "$€λA" }
4
{ $strLenCP: "寿司" }
2

操作符 $strLenCP 用于计算指定字符串中的代码点数。这种行为与 $strLenBytes 操作符不同,后者用于计算字符串中的字节数,其中每个字符使用1到4个字节。

创建一个 food 集合

db.food.insertMany( [
{ _id: 1, name: "apple" },
{ _id: 2, name: "banana" },
{ _id: 3, name: "éclair" },
{ _id: 4, name: "hamburger" },
{ _id: 5, name: "jalapeño" },
{ _id: 6, name: "pizza" },
{ _id: 7, name: "tacos" },
{ _id: 8, name: "寿司" }
] )

以下示例使用 $strLenCP 操作符来计算每个 name 值的 length

db.food.aggregate( [
{
$project: {
name: 1,
length: { $strLenCP: "$name" }
}
}
] )

示例输出

[
{ _id: 1, name: 'apple', length: 5 },
{ _id: 2, name: 'banana', length: 6 },
{ _id: 3, name: 'éclair', length: 6 },
{ _id: 4, name: 'hamburger', length: 9 },
{ _id: 5, name: 'jalapeño', length: 8 },
{ _id: 6, name: 'pizza', length: 5 },
{ _id: 7, name: 'tacos', length: 5 },
{ _id: 8, name: '寿司', length: 2 }
]

提示

另请参阅

返回

字节长度

本页内容