Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

$trim (operador de expresió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

A partir de MongoDB 7.0.33, la longitud de la string que se proporciona a chars está limitada a 4096 caracteres. Si proporcionas una string más larga de 4096 caracteres, MongoDB devolverá un error similar al siguiente:

$trim/$ltrim/$rtrim requires 'chars' to be not greater than 4096 bytes, got
<length> bytes instead.

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