$rtrim (aggregation)
On this page本页内容
Definition定义
$rtrim
-
Removes whitespace characters, including null, or the specified characters from the end of a string.从字符串末尾删除空白字符,包括null
或指定字符。$rtrim
has the following syntax:具有以下语法:{ $rtrim: { input: <string>, chars: <string> } }
The$rtrim
takes a document with the following fields:$rtrim
获取具有以下字段的文档:Field字段Description描述input
The string to trim.要修剪的绳子。The argument can be any valid expression that resolves to a string.参数可以是解析为字符串的任何有效表达式。For more information on expressions, see Expressions.有关表达式的详细信息,请参阅表达式。chars
Optional.可选的。The character(s) to trim from the end of the要从input
.input
末尾修剪的字符。
The argument can be any valid expression that resolves to a string.参数可以是解析为字符串的任何有效表达式。The$rtrim
operator breaks down the string into individual UTF code pointto trim from
input
.$rtrim
运算符将字符串分解为单独的UTF代码点,以便从
input
中进行修剪。
If unspecified,如果未指定,$rtrim
removes whitespace characters, including the null character. For the list of whitespace characters, see Whitespace Characters.$rtrim
将删除空白字符,包括null
字符。有关空白字符的列表,请参阅空白字符。
Behavior行为
By default,默认情况下,$rtrim
removes whitespace, including the null character, from the end of the input string:$rtrim
从输入字符串的末尾删除空白,包括null
字符:Example示例Results结果{ $rtrim: { input: " \n good bye \t " } }
" \n good bye"
You can override the default characters to trim using the您可以使用chars
field.chars
字段覆盖要修剪的默认字符。For example, the following trims any例如,以下内容将从输入字符串的末尾修剪任何g
ande
from the end of the input string. Since the input ends with a whitespace, neither character can be trimmed from the end of the string.g
和e
。由于输入以空白结尾,因此不能从字符串的末尾修剪任何字符。Example示例Results结果{ $rtrim: { input: "ggggoodbyeeeee ", chars: "ge" } }
"ggggoodbyeeeee "
If overriding the default characters to trim, you can explicitly include the whitespace character(s) to trim in the如果覆盖要修剪的默认字符,则可以在chars
field.chars
字段中显式包含要修剪的空白字符。For example, the following trims any space or例如,以下内容会修剪输入字符串末尾的任何空格或e
from the end of the input string.e
。Example示例Results结果{ $rtrim: { input: " ggggoodbyeeeee ", chars: "e " } }
" ggggoodby"
Whitespace Characters空白字符
By default, 默认情况下,$rtrim
removes the following whitespace, including the null character:$rtrim
会删除以下空白,包括null
字符:
Unicode | ||
---|---|---|
U+0000 | '0' | Null character |
U+0020 | ' ' | Space |
U+0009 | 't' | Horizontal tab |
U+000A | 'n' | Line feed/new line |
U+000B | 'v' | Vertical tab |
U+000C | 'f' | Form feed |
U+000D | 'r' | Carriage return |
U+00A0 | Non-breaking space | |
U+1680 | Ogham space mark | |
U+2000 | En quad | |
U+2001 | Em quad | |
U+2002 | En space | |
U+2003 | Em space | |
U+2004 | Three-per-em space | |
U+2005 | Four-per-em space | |
U+2006 | Six-per-em space | |
U+2007 | Figure space | |
U+2008 | Punctuation space | |
U+2009 | Thin space | |
U+200A | Hair space |
Example实例
Consider an 考虑一个包含以下文档的inventory
collection with the following documents: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 }
The following operation uses the 以下操作使用$rtrim
operator to remove trailing whitespace from the description
field:$rtrim
运算符从description
字段中删除尾部空白:
db.inventory.aggregate([
{ $project: { item: 1, description: { $rtrim: { input: "$description" } } } }
])
The operation returns the following results:该操作返回以下结果:
{ "_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 }