MongoDB聚合运算符:$strLenCP

news/2024/11/17 3:26:26/

MongoDB聚合运算符:$strLenCP

$strLenCP聚合运算符返回指定字符串中 UTF-8 代码点的数量。

语法

{ $strLenCP: <string expression> }

<expression>为可解析为字符串的表达式,如果解析为null或引用了不存在的字段,返回错误。

使用

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

返回
{ $strLenCP: "abcde" }5
{ $strLenCP: "Hello World!" }12
{ $strLenCP: "cafeteria" }9
{ $strLenCP: "cafétéria" }9
{ $strLenCP: "" }0
{ $strLenCP: "$€λG" }4
{ $strLenCP: "寿司" }2

举例

单字节和多字节字符集

使用下面的脚本创建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的长度:

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 }
]

http://www.ppmy.cn/news/1446693.html

相关文章

二,网络安全常用术语

黑客&#xff08;hacker&#xff09;——对计算机技术非常擅长的人&#xff0c;窃取数据&#xff0c;破坏计算机系统&#xff1b;全球最知名的一个黑客组织匿名&#xff08;Anonymous&#xff09;。 脚本小子——刚刚入门安全行业&#xff0c;学习了一些技术&#xff0c;只会用…

解决elemen-ui的el-table的树结构数据,新增修改不刷新问题

前面有写过关于后端返回全量数据&#xff0c;但前端节点过多table树卡顿问题 有兴趣可以看看这篇 https://blog.csdn.net/qq_44179024/article/details/136058117?spm1001.2014.3001.5501 前提&#xff1a;我这个是根据后端返回的全量数据来递归做的load方法&#xff0c;并没有…

Nginx配置Https缺少SSL模块

1、Linux下Nginx配置https nginx下载和安装此处就忽略&#xff0c;可自行百度 1.1、配置https 打开nginx配置文件 vim /opt/app/nginx/conf/nginx.conf相关https配置 server {listen 443 ssl; #开放端口server_name echarts.net;#域名#redirect to https#ssl on; #旧版#ssl证…

【算法小白周赛1A】分析 - 题解与代码

题目链接&#xff1a;https://www.starrycoding.com/problem/155 题目描述 小可可最近在学数学运算&#xff01;他希望考考你&#xff0c;给你两个整数 A , B A,B A,B&#xff0c;询问 A B A\times B AB 是否是偶数。 注意&#xff0c;可能存在前导 0 0 0&#xff0c;比如…

Linux 查看主机内存,CPU使用率的两种推荐指令top ,free 指令解读

top 指令 top 指令是 Linux 系统中一个实时显示系统状态的动态视图工具&#xff0c;主要用于监控系统的整体运行状态&#xff0c;包括CPU使用率、内存使用情况、运行中的进程信息等。它是一个非常强大的命令行工具&#xff0c;常用于性能分析和故障排查。下面是一些基本的使用…

【webrtc】MessageHandler 7: 基于线程的消息处理:切换main线程向observer发出通知

以当前线程作为main线程 RemoteAudioSource 作为一个handler 仅实现一个退出清理的功能 首先on message的处理会切换到main 线程 :main_thread_其次,这里在main 线程对sink_ 做清理再次,在main 线程做出状态改变,并能通知给所有的observer 做出on changed 行为。对接mediac…

Flask教程2:flask高级视图

文章目录 add_url_rule类视图的引入装饰器的自定义与使用蓝图的使用url_prefix设置蓝图前缀 add_url_rule 欲实现url与视图函数的绑定&#xff0c;除了使用路由装饰器app.route&#xff0c;我们还可以通过add_url_rule(rule,endpointNone,view_funcNone)方法&#xff0c;其中&…

OpenResty 安装及lua-resty-redis

目的&#xff1a; 需要记录用户真实IP 访问量 1. 下载openresty&#xff1a; https://openresty.org/download/openresty-1.25.3.1.tar.gz2. 编译安装 ./configure --help | more 可以查看configure 可选参数 # 1、安装前置依赖 yum install -y readline-devel pcre pcre-…