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

Devuelve el como una Array cadena.

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 cadena de texto.

fecha

Devuelve el como una Date cadena.

Decimal

Devuelve el valor como una Decimal cadena.

Double

Devuelve el valor como una Double cadena.

entero

Devuelve el valor como una Integer cadena.

Long

Devuelve el valor como una Long cadena.

Clave máxima

Devuelve el como una MaxKey cadena.

Nuevo en la versión 8.3.

MinKey

Devuelve el como una MinKey cadena.

Nuevo en la versión 8.3.

Objeto

Devuelve el objeto como una cadena de texto.

Nuevo en la versión 8.3.

ObjectId

Devuelve el valor como una cadena ObjectId hexadecimal.

Expresión regular

Devuelve el como una Regular Expression cadena.

Nuevo en la versión 8.3.

String

No realiza ninguna operación. Devuelve el valor de la cadena.

Marca de tiempo

Devuelve el como una Timestamp cadena.

Nuevo en la versión 8.3.

Tip

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

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