Definición
$rtrimElimina los caracteres de espacio en blanco, incluido el nulo, o los caracteres especificados del final de una string.
$rtrimtiene la siguiente sintaxis:{ $rtrim: { input: <string>, chars: <string> } } El
$rtrimprocesa 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. Los caracteres que se eliminarán al final del
input.El argumento puede ser cualquier expresión válida que se resuelva en una string. El operador
$rtrimdivide la cadena en puntos de códigoUTF individuales. para recortar deinput.Si no se especifica,
$rtrimremueve los caracteres de espacio en blanco, incluido el carácter nulo. Para la lista de caracteres de espacio, consulta Caracteres de espacio.
Comportamiento
Por defecto,
$rtrimelimina el espacio en blanco, incluido el carácter nulo, del final de la string de entrada:EjemploResultados{ $rtrim: { input: " \n good bye \t " } }" \n good bye"Puedes sobrescribir los caracteres por defecto para recortar usando el campo
chars.Por ejemplo, lo siguiente elimina cualquier
gyedel final de la string de entrada. Dado que la entrada termina con un espacio en blanco, ningún carácter puede ser recortado del final de la string.EjemploResultados{ $rtrim: { input: "ggggoodbyeeeee ", chars: "ge" } }"ggggoodbyeeeee "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, el siguiente recorta cualquier espacio o
edel final de la string 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' | 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 |
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 $rtrim para remover los espacios en blanco finales del campo description:
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 }