Definición
$rtrimElimina los caracteres de espacio en blanco, incluidos los nulos, o los caracteres especificados del final de una cadena.
$rtrimtiene la siguiente sintaxis:{ $rtrim: { input: <string>, chars: <string> } } El
$rtrimprocesa 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) que se recortarán del final de
input.El argumento puede ser cualquier expresión válida que se resuelva en una cadena. El
$rtrimoperador 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
$rtrimCaracteres de espacio en blanco.
Comportamiento
De forma predeterminada, elimina los espacios en blanco, incluido el carácter nulo, del final de la cadena de
$rtrimentrada:EjemploResultados{ $rtrim: { input: " \n good bye \t " } }" \n good bye"Puede anular los caracteres predeterminados para recortar utilizando el campo
chars.Por ejemplo, lo siguiente elimina cualquier
gyedel final de la cadena de entrada. Dado que la entrada termina con un espacio, no se puede eliminar ningún carácter del final de la cadena.EjemploResultados{ $rtrim: { 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 o
edel final de la cadena de entrada.EjemploResultados{ $rtrim: { input: " ggggoodbyeeeee ", chars: "e " } }" ggggoodby"
Caracteres de espacio en blanco
Por defecto, $rtrim remueve el siguiente espacio 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 |
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 finales $rtrim del description campo:
db.inventory.aggregate([ { $project: { item: 1, description: { $rtrim: { 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." } { _id: 3, item: "XYZ1", description: null }