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 $trim divide a string em code point UTF para cortar input.

Se não for especificado, $trim remove os caracteres de espaço em branco, inclusive o caractere 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