Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

$ltrim(聚合)

在此页面上

  • 定义
  • 行为
  • 例子
$ltrim

删除字符串开头的空格字符(包括 null)或指定的字符。

$ltrim 通过以下语法实现:

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

$ltrim 接受包含以下字段的文档:

字段
说明

input

要修剪的string 。 该参数可以是任何解析为 的有效 表达式 string。有关表达式的更多信息,请参阅表达式操作符。

chars

可选。从 input 开头修剪的字符。

该参数可以是任何解析为字符串的有效表达式。 操作符会将字符串分解为单个$ltrim UTF 代码点 input,以从 中进行修剪。

如果未指定,$ltrim 会删除空白字符,包括空字符。有关空白字符的列表,请参阅空白字符。

提示

另请参阅:

  • $trim

  • $rtrim

  • 默认情况下,$ltrim 会从输入字符串的开头删除空格字符,包括 null 字符:

    例子
    结果

    { $ltrim: { input: " \n good bye \t " } }

    "good bye \t "

  • 可使用 chars 字段覆盖待修剪的默认字符。

    例如,以下代码会从输入字符串的开头处删除任何 ge。由于输入以空格开头,因此,不能从字符串的开头删除这两个字符。

    例子
    结果

    { $ltrim: { input: " ggggoodbyeeeee", chars: "ge" } }

    " ggggoodbyeeeee"

  • 如果覆盖待修剪的默认字符,则可以在 chars 字段中明确包含待修剪的空白字符。

    例如,以下代码会删除输入字符串开头处的任何空格、gd

    例子
    结果

    { $ltrim: { input: " ggggoodbyeeeee ", chars: " gd" } }

    "oodbyeeeee "

默认情况下,$ltrim会移除以下字符:

Unicode
转义序列
说明

U+0000

'0'

Null 字符

U+0020

' '

空格

U+0009

't'

Horizontal tab

U+000A

'n'

换行/新行

U+000B

'v'

垂直制表符

U+000C

'f'

换页

U+000D

'r'

回车

U+00A0

不间断空格

U+1680

欧甘文空格标记

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

数字空格

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 }

后退

$lte

在此页面上