MongoDB聚合运算符:$ltrim

$ltrim聚合运算符用于裁剪字符串左边的空格(包括null)或指定的字符串。

语法

{ $ltrim: { input: <string>,  chars: <string> } }

字段说明:

  • input,要裁剪的字符串,可以是任何能解析为字符串的表达式。
  • chars,可选,要从input字符串中修剪的字符或字符串,可以是任何能够解析为字符串的表达式。如果不指定,$ltrim将移除空格字符串(包括空字符)

使用

  • 缺省情况下,$ltrim移除输入字符串左边的空格和空字符,如:
{ $ltrim: { input: " \n good bye \t " } }

结果为:"good bye \t "

  • 可以使用chars指定其他要移除的字符,下面的例子移除输入字符串左边g或e开始的字符串,但是因为字符串是空格开始的,所以没有字符被移除。
{ $ltrim: { input: " ggggoodbyeeeee", chars: "ge" } }

结果:" ggggoodbyeeeee"

  • 也可以通过指定空格和其他字符来替代缺省的字符,下面的例子就是移除掉输入字符串以空格、字符g或d开头的字符
{ $ltrim: { input: " ggggoodbyeeeee ", chars: " gd" } }

结果:"oodbyeeeee "

空白字符

缺省情况下,$ltrim移除下面的字符:

Unicode转义序列描述
U+0000‘0’空字符
U+0020’ ’空格
U+0009‘t’水平制表符
U+000A‘n’换行符
U+000B‘v’垂直制表符
U+000C‘f’分页符
U+000D‘r’回车符
U+00A0不间断空格
U+1680奥格姆空格标记
U+2000半身空铅
U+2001正方空铅
U+2002半方空位
U+2003字元的正方空位
U+2004三分之一全方空格
U+2005四分之一全方空格
U+2006六分之一全方空格
U+2007数字空格
U+2008标点空格
U+2009窄空格
U+200A细空格

举例

inventory集合有下列文档:

{ "_id" : 1, "item" : "ABC1", "quarter": "13Q1", "description" : " product 1" }
{ "_id" : 2, "item" : "ABC2", "quarter": "13Q4", "description" : "product 2 \n The product is in stock.  \n\n  " }
{ "_id" : 3, "item" : "XYZ1", "quarter": "14Q2", "description" : null }

下面的聚合操作使用$ltrim运算符description字段左边开头的空格:

db.inventory.aggregate([
   { $project: { item: 1, description: { $ltrim: { input: "$description" } } } }
])

操作返回下面的结果:

{ "_id" : 1, "item" : "ABC1", "description" : "product 1" }
{ "_id" : 2, "item" : "ABC2", "description" : "product 2 \n The product is in stock.  \n\n  " }
{ "_id" : 3, "item" : "XYZ1", "description" : null }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原子星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值