Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Operadores de pipeline de agregación

$trim (agregación)

$trim

Elimina los caracteres de espacio en blanco, incluidos los nulos, o los caracteres especificados desde el principio y el final de una string.

$trim tiene la siguiente sintaxis:

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

El $trim procesa un documento con los siguientes campos:

Campo
Descripción

input

La string a recortar. El argumento puede ser cualquier valor válido expresión que se resuelve en una string. Para obtener más información sobre las expresiones, consulta 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 string. El operador $trim divide la cadena en puntos de códigoUTF individuales. para recortar de input.

Si no se especifica, $trim remueve los caracteres de espacio en blanco, incluido el carácter nulo. Para la lista de caracteres de espacio, consulta Caracteres de espacio.

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"

  • Puedes sobrescribir los caracteres por defecto para recortar usando el campo chars.

    Por ejemplo, lo siguiente elimina cualquier g y e del inicio y final de la entrada. Dado que la entrada comienza con un espacio en blanco, ningún carácter puede ser eliminado del inicio de la string.

    Ejemplo
    Resultados

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

    " ggggoodby"

  • Si se cambian los caracteres por defecto para recortar, se puede incluir explícitamente el (los) carácter(es) de espacio en blanco que se deben recortar en el campo chars.

    Por ejemplo, lo siguiente recorta cualquier espacio, g, e del inicio y del 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'

Alimentación de línea/nueva línea

U+000B

'v'

Pestaña vertical

U+000C

'f'

Salto de página

U+000D

'r'

Retorno de carro

U+00A0

Espacio sin salto

U+1680

Marca de espacio 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 cifra

U+2008

Espacio de puntuación

U+2009

Espacio delgado

U+200A

Espaciador delgado

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 $trim para remover los espacios en blanco al principio y al final del campo description:

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