Docs Menu
Docs Home
/ /
Operadores de tuberías de agregación

$trim (agregación)

$trim

Elimina los caracteres de espacio en blanco, incluidos los nulos, o los caracteres especificados del principio y del final de una cadena.

$trim tiene la siguiente sintaxis:

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

El $trim procesa un documento con los siguientes campos:

Campo
Descripción

input

La cadena que se va a recortar. El argumento puede ser cualquier valor válido. Expresión que se resuelve en una cadena. Para más información sobre expresiones, consulte Expresiones.

chars

Opcional. El/los carácter(es) a recortar de input.

El argumento puede ser cualquier expresión válida que se resuelva en una cadena. El $trim operador descompone la cadena en puntos de código UTF individuales.para recortar input desde.

Si no se especifica, elimina los espacios en blanco, incluido el carácter nulo. Para ver la lista de espacios en blanco, consulte$trim Caracteres de espacio en blanco.

Tip

  • $ltrim

  • $rtrim

  • Por defecto, $trim elimina los caracteres de espacio en blanco, incluido el carácter nulo:

    Ejemplo
    Resultados

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

    "good bye"

  • Puede anular los caracteres predeterminados para recortar utilizando el campo chars.

    Por ejemplo, lo siguiente recorta cualquier g y e del principio y del final de la entrada. Dado que la entrada empieza con un espacio, no se puede recortar ningún carácter del principio de la cadena.

    Ejemplo
    Resultados

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

    " ggggoodby"

  • Si desea anular los caracteres predeterminados para recortar, puede incluir explícitamente los caracteres de espacio en blanco para recortar en el campo chars.

    Por ejemplo, lo siguiente recorta cualquier espacio, g, e desde el inicio y el final de la entrada.

    Ejemplo
    Resultados

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

    "oodby"

Por defecto, $trim remueve los siguientes espacios en blanco, incluido el carácter nulo:

Unicode
Secuencia de escape
Descripción

U+0000

'0'

Carácter nulo

U+0020

' '

Espacio

U+0009

't'

Horizontal tab

U+000A

'n'

Salto de línea/nueva línea

U+000B

'v'

Pestaña vertical

U+000C

'F'

Avance de formulario

U+000D

'r'

Retorno de carro

U+00A0

Espacio sin salto

U+1680

Marca espacial 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

Espacio de figuras

U+2008

espacio de puntuación

U+2009

Espacio delgado

U+200A

Espacio para el cabello

Considere una colección inventory con los siguientes documentos:

db.inventory.insertMany( [
{ _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 }
] )

La siguiente operación utiliza el operador para eliminar los espacios iniciales y finales $trim del description campo:

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

La operación devuelve los siguientes 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." }

Volver

$tsSecond

En esta página