Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$trim (agregação)

Nesta página

  • Definição
  • Comportamento
  • Exemplo
$trim

Remove caracteres de espaço em branco, incluindo nulos, ou os caracteres especificados do início e do fim de uma string.

$trim tem a seguinte sintaxe:

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

O $trim pega um documento com os seguintes campos:

Campo
Descrição

input

A string a ser cortada. O argumento pode ser qualquerexpressão válida que resolva para uma string. Para obter mais informações sobre expressões, consulte Operadores de expressão.

chars

Opcional. Os caracteres a serem cortados de input.

O argumento pode ser qualquer expressão válida que produza uma string. O operador divide a $trim cadeia de caracteres em ponto código UTF individual para cortar input.

Se não for especificado, remove os caracteres de espaço em branco, inclusive o caractere$trim nulo. Para obter a lista de caracteres de espaço em branco, consulte Caracteres de espaço em branco.

Dica

Veja também:

  • $ltrim

  • $rtrim

  • Por padrão, $trim remove caracteres de espaço em branco, incluindo o caractere nulo:

    Exemplo
    Resultados

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

    "good bye"

  • Você pode substituir os caracteres padrão para cortar usando o campo chars.

    Por exemplo, o seguinte corta qualquer g e e do início e do final da entrada. Uma vez que a entrada começa com um espaço em branco, nenhum dos caracteres pode ser cortado a partir do início da string.

    Exemplo
    Resultados

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

    " ggggoodby"

  • Se substituir os caracteres padrão para cortar, você pode incluir explicitamente os caracteres de espaço em branco a serem cortados no campo chars.

    Por exemplo, o seguinte corta qualquer espaço, g, e do início e do final da entrada.

    Exemplo
    Resultados

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

    "oodby"

Por padrão, o $trim remove os seguintes espaços em branco, incluindo o caractere nulo:

Unicode
Sequência de escape
Descrição

U+0000

'0'

Caractere nulo

U+0020

' '

Espaço

U+0009

't'

Aba horizontal

U+000A

'n'

Feed de linha/nova linha

U+000B

'v'

Aba vertical

U+000C

'f'

Feed de formulários

U+000D

'r'

Quebra de linha

U+00A0

Espaço ininterrupto

U+1680

Marca de espaço Ogham

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

Espaço da figura

U+2008

Espaço de pontuação

U+2009

Espaço fino

U+200A

Espaço para o cabelo

Considere uma coleção inventory com os seguintes documentos:

{ "_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 }

A operação a seguir usa o operador $trim para remover os espaços em branco à esquerda e à direita do campo description:

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

A operação retorna os seguintes resultados:

{ "_id" : 1, "item" : "ABC1", "description" : "product 1" }
{ "_id" : 3, "item" : "XYZ1", "description" : null }
{ "_id" : 2, "item" : "ABC2", "description" : "product 2 \n The product is in stock." }

Voltar

$ tSecond