Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$toString (operador de expresión)

$toString

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

$toString tiene la siguiente sintaxis:

{
$toString: <expression>
}

El toma cualquier valor $toString válido 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 cadena:

Tipo de entrada
Comportamiento

Booleano

Devuelve el valor booleano como una cadena.

Double

Devuelve el valor double como una string.

Decimal

Devuelve el valor decimal como una string.

entero

Devuelve el valor entero como una string.

Long

Devuelve el valor largo como una cadena.

ObjectId

Devuelve el valor de ObjectId como una string hexadecimal.

String

Sin-op. Devuelve el valor de string.

fecha

Devuelve la fecha como una string.

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

Ejemplo
Resultados

{$toString: true}

"true"

{$toString: false}

"FALSO"

{$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"

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 detecta un error, la operación de agregación se detiene y genera un error. Para anular este comportamiento,$convert utilice.

Volver

$topN

En esta página