Definición
$ltrimElimina los caracteres de espacio en blanco, incluidos los nulos, o los caracteres especificados del comienzo de una cadena.
$ltrimtiene la siguiente sintaxis:{ $ltrim: { input: <string>, chars: <string> } } El
$ltrimprocesa un documento con los siguientes campos:CampoDescripcióninputLa 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.
charsOpcional. El/los carácter(es) a recortar del comienzo de
input.El argumento puede ser cualquier expresión válida que se resuelva en una cadena. El
$ltrimoperador descompone la cadena en puntos de código UTF individuales.para recortarinputdesde.Si no se especifica, elimina los espacios en blanco, incluido el carácter nulo. Para ver la lista de espacios en blanco, consulte
$ltrimCaracteres de espacio en blanco.
Comportamiento
De forma predeterminada, elimina los caracteres de espacio en blanco, incluido el carácter nulo, del comienzo de la cadena de
$ltrimentrada:EjemploResultados{ $ltrim: { input: " \n good bye \t " } }"good bye \t "Puede anular los caracteres predeterminados para recortar utilizando el campo
chars.Por ejemplo, lo siguiente recorta cualquier
gyedel inicio de la cadena de entrada. Dado que la entrada empieza con un espacio, no se puede recortar ningún carácter del inicio de la cadena.EjemploResultados{ $ltrim: { input: " ggggoodbyeeeee", chars: "ge" } }" ggggoodbyeeeee"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,
goddesde el comienzo de la cadena de entrada.EjemploResultados{ $ltrim: { input: " ggggoodbyeeeee ", chars: " gd" } }"oodbyeeeee "
Caracteres de espacio en blanco
De forma predeterminada, elimina los siguientes$ltrim caracteres:
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 |
Ejemplo
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 $ltrim del description campo:
db.inventory.aggregate([ { $project: { item: 1, description: { $ltrim: { input: "$description" } } } } ])
La operación devuelve los siguientes resultados:
{ _id: 1, item: "ABC1", description: "product 1" } { _id: 2, item: "ABC2", description: "product 2 \n The product is in stock. \n\n " } { _id: 3, item: "XYZ1", description: null }