$rtrim(去除右侧空白)
最后更新:2026-10-09
$rtrim(去除右侧空白)
$rtrim 去除字符串右端(结尾)的空白字符,或 chars 指定的字符集中的字符,是 $trim 的右侧版本。常用于清理文本行尾、去掉多余换行或结尾分隔符。chars 缺省为空白字符集,也可显式指定自定义结尾字符。input 为 null 或缺失时返回 null。它常用于清理导入数据的行尾残留,保证后续解析稳定。
| 分类 | 字符串 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $rtrim: { input: <字符串表达式>, chars: <字符集字符串> } }
⚙️ 参数
| input | 必填,要处理的字符串。 |
|---|---|
| chars | 可选,自定义要去除的字符集;缺省为空白字符。 |
返回值:去除右端字符后的字符串;input 为 null 时返回 null。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $rtrim:去掉日志行尾的换行
db.logs.aggregate([
{ $project: { msg: { $rtrim: { input: '$raw', chars: '\r\n' } } } }
])
运行结果:
{ "_id": 1, "msg": "done" }
{ "_id": 2, "msg": "ok" }
📌 注意事项
- 只处理右端,左端不动
- chars 缺省为空白字符集,可用它去掉自定义结尾
- 行尾 CRLF 等可用 chars 显式指定
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q能去掉行尾换行吗?
A能,chars 传回车换行字符即可。
Q只去右边吗?
A是,$rtrim 只处理字符串结尾。
Q和 $ltrim 怎么组合?
A先用 $ltrim 再去 $rtrim,等效于 $trim。