$rtrim (聚合)
定义
行为
默认情况下,
$rtrim
从输入字符串的末尾移除空格,包括空字符示例结果{ $rtrim: { input: " \n good bye \t " } }
" \n good bye"
您可以使用
chars
字段覆盖默认要剪切的字符。例如,以下从输入字符串的末尾剪切任何
g
和e
。由于输入以空格结束,因此无法从字符串末尾剪切这两个字符。示例结果{ $rtrim: { input: "ggggoodbyeeeee ", chars: "ge" } }
"ggggoodbyeeeee "
如果覆盖默认要剪切的字符,您可以在
chars
字段中显式包含要剪切的空格字符。例如,以下从输入字符串的末尾剪切任何空格或
e
。示例结果{ $rtrim: { input: " ggggoodbyeeeee ", chars: "e " } }
" ggggoodby"
空白字符
默认情况下,$rtrim
移除以下空白字符,包括空字符
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 | 发丝空格 |
示例
考虑一个具有以下文档的 库存
集合
{ "_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 }
以下操作使用 $rtrim
操作符从 描述
字段中删除尾随空格
db.inventory.aggregate([ { $project: { item: 1, description: { $rtrim: { input: "$description" } } } } ])
操作返回以下结果
{ "_id" : 1, "item" : "ABC1", "description" : " product 1" } { "_id" : 2, "item" : "ABC2", "description" : "product 2 \n The product is in stock." } { "_id" : 3, "item" : "XYZ1", "description" : null }