Definición
$ltrimElimina los caracteres de espacio, incluido el nulo, o los caracteres especificados del principio de una string.
$ltrimtiene la siguiente sintaxis:{ $ltrim: { input: <string>, chars: <string> } } El
$ltrimprocesa un documento con los siguientes campos:CampoDescripcióninputLa 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.
charsopcional. El carácter o los caracteres que se deben recortar del principio de
input.El argumento puede ser cualquier expresión válida que se resuelva en una string. El operador
$ltrimdivide la cadena en puntos de códigoUTF individuales.para recortarinputdesde.Si no se especifica,
$ltrimremueve los caracteres de espacio en blanco, incluido el carácter nulo. Para la lista de caracteres de espacio, consulta Caracteres de espacio.
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 elimina cualquier
gyedesde el comienzo de la string de entrada. Puesto que la entrada comienza con un espacio en blanco, no se puede recortar ninguno de los caracteres desde el inicio de la string.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
Por defecto, $ltrim remueve los siguientes caracteres:
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 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 usa el operador $ltrim para remover los espacios en blanco iniciales del campo description:
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 }