$trim(去除两端空白)
最后更新:2026-10-09
$trim(去除两端空白)
$trim 去除字符串两端的空白字符(空格、制表符、换行等),也可用 chars 指定要去除的自定义字符集。它适合清洗用户输入、日志文本或 CSV 字段。不指定 chars 时只去空白;指定后去除两端属于该字符集的字符。input 为 null 或缺失时返回 null。只去一端用 $ltrim 或 $rtrim。
| 分类 | 字符串 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $trim: { input: <字符串表达式>, chars: <字符集字符串> } }
⚙️ 参数
| input | 必填,要处理的字符串。 |
|---|---|
| chars | 可选,自定义要去除的字符集;缺省为空白字符。 |
返回值:去除两端字符后的字符串;input 为 null 时返回 null。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $trim:清洗用户输入的名字
db.users.aggregate([
{ $project: { name: { $trim: { input: '$name' } } } }
])
运行结果:
{ "_id": 1, "name": "Alice" }
{ "_id": 2, "name": "Bob" }
📌 注意事项
- 默认去除的空白含空格、制表符、回车、换行等
- 指定 chars 后不再默认去空白,如需两者都去要写全
- 只去一端用 $ltrim 或 $rtrim
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q默认去哪些字符?
A空格、制表符、换行、回车等空白字符。
Q能自定义去什么吗?
A能,chars 参数指定字符集。
Q和 $ltrim 的区别?
A$ltrim 只去左端,$trim 两端都去。