$strLenBytes
是aggregate的一个管道符返回UTF-8编码下的字节数
基础表达式:
{ $strLenBytes: <string expression> }
*1.US-ASCII字符为一个字节,计数为1
*2.即英语字母之外的拉丁字符为两个字节,计数为2
*3.中文,日文和韩文字符为3个字节,计数为3
*4.其他Unicode平面(表情符号,数学符号等)为四个字节,计数为4
$strLenCP
是aggregate的一个管道符返回UTF-8编码下的字符数
基础表达式:
{ $strLenCP: <string expression> }
每个字符均计数为1
示例:
构建数据
db.test.insert([{ "_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" : "寿司" }])
db.test.aggregate([{
$project: {
"name": 1,
"length_Bytes": { $strLenBytes: "$name" },
"length_CP": { $strLenCP: "$name" }
}
}])
运行结果
网友评论