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

$toString (operador de expresión)

$toString

Convierte un valor a una string. Si el valor no se puede convertir en una string, $toString errores. Si el valor es nulo o falta, $toString devuelve nulo.

$toString tiene la siguiente sintaxis:

{
$toString: <expression>
}

El $toString acepta cualquier expresión.

El $toString es una abreviatura de la siguiente expresión $convert:

{ $convert: { input: <expression>, to: "string" } }

Tip

  • $convert

  • $dateToString

La siguiente tabla enumera los tipos de entrada que se pueden convertir en una string:

Tipo de entrada
Comportamiento

Arreglo

Retorna la Array como una string.

Nuevo en la versión 8.3.

BinData

Si el BinData es un UUID, se devuelve el UUID como un string. De lo contrario, devuelve el valor de string codificada en base64.

Booleano

Devuelve el valor booleano como una string.

fecha

Retorna la Date como una string.

Decimal

Devuelve el valor Decimal como string.

Double

Devuelve el valor Double como string.

entero

Devuelve el valor Integer como string.

Long

Devuelve el valor Long como string.

Clave máxima

Retorna la MaxKey como una string.

Nuevo en la versión 8.3.

MinKey

Retorna la MinKey como una string.

Nuevo en la versión 8.3.

Objeto

Devuelve el objeto como un string.

Nuevo en la versión 8.3.

ObjectId

Retorna el valor ObjectId como un string hexadecimal.

Expresión regular

Retorna la Regular Expression como una string.

Nuevo en la versión 8.3.

String

Sin operación. Devuelve el valor de la string.

Marca de tiempo

Retorna la Timestamp como una string.

Nuevo en la versión 8.3.

Tip

Para convertir cadenas en bases distintas de 10, use $convert con la opción base.

La siguiente tabla enumera algunos ejemplos de conversión a string:

Ejemplo
Resultados

{ $toString: true }

"true"

{ $toString: false }

"false"

{ $toString: 2.5 }

"2.5"

{ $toString: Int32(2) }

"2"

{ $toString: Long(1000) }

"1000"

{ $toString: ObjectId("5ab9c3da31c2ab715d421285") }

"5ab9c3da31c2ab715d421285"

{ $toString: ISODate("2018-03-27T16:58:51.538Z") }

"2018-03-27T16:58:51.538Z"

{ $toString: BinData(4, "hn3f") }

"hn3f"

{ $toString: /^ABC/i }

"/^ABC/i"

Nuevo en la versión 8.3.

{ $toString: new Timestamp(1565545664, 1) }

"Timestamp(1565545664, 1)"

Nuevo en la versión 8.3.

{ $toString: [["pizza", {type: "cheese"}]] }

"[\"pizza\",{\"type\":\"cheese\"}]"

Nuevo en la versión 8.3.

{ $toString: {pizza: {type: "cheese"}} }

"{\"pizza\":{\"type\":\"cheese\"}}"

Nuevo en la versión 8.3.

{ $toString: MinKey }

"MinKey"

Nuevo en la versión 8.3.

{ $toString: MaxKey }

"MaxKey"

Nuevo en la versión 8.3.

Cree una colección orders con los siguientes documentos:

db.orders.insertMany( [
{ _id: 1, item: "apple", qty: 5, zipcode: 93445 },
{ _id: 2, item: "almonds", qty: 2, zipcode: "12345-0030" },
{ _id: 3, item: "peaches", qty: 5, zipcode: 12345 },
] )

La siguiente operación de agregación en la colección orders convierte el zipcode en string antes de ordenar por el valor de la string:

// Define stage to add convertedZipCode field with the converted zipcode value
zipConversionStage = {
$addFields: {
convertedZipCode: { $toString: "$zipcode" }
}
};
// Define stage to sort documents by the converted zipcode
sortStage = {
$sort: { "convertedZipCode": 1 }
};
db.orders.aggregate( [
zipConversionStage,
sortStage
] )

La operación devuelve los siguientes documentos:

{
_id: 3,
item: 'peaches',
qty: 5,
zipcode: 12345,
convertedZipCode: '12345'
},
{
_id: 2,
item: 'almonds',
qty: 2,
zipcode: '12345-0030',
convertedZipCode: '12345-0030'
},
{
_id: 1,
item: 'apple',
qty: 5,
zipcode: 93445,
convertedZipCode: '93445'
}

Nota

Si la operación de conversión encuentra un error, la operación de agregación se detiene y genera un error. Para anular este comportamiento, use $convert en su lugar.

Volver

$topN

En esta página