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

$toString (operador de expressão )

$toString

Converte um valor em uma string. Se o valor não puder ser convertido em uma string, $toString apresentará erro. Se o valor for nulo ou estiver ausente, $toString retornará nulo.

$toString tem a seguinte sintaxe:

{
$toString: <expression>
}

O $toString usa qualquer expressãoválida.

O $toString é uma abreviatura para a seguinte expressão $convert:

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

Dica

  • $convert

  • $dateToString

A tabela a seguir lista os tipos de entrada que podem ser convertidos em uma string:

Tipo de entrada
Comportamento

Array

Retorna como uma Array string.

Novidades na versão 8.3.

BinData

Se o BinData for um UUID, retorna o UUID como uma string. Caso contrário, retorna o valor da string codificada base64.

Boolean

Retorna o valor booleano como uma string.

Data

Retorna como uma Date string.

Decimal

Retorna o valor como uma Decimal string.

Double

Retorna o valor como uma Double string.

Inteiro

Retorna o valor como uma Integer string.

Long

Retorna o valor como uma Long string.

Tecla máxima

Retorna como uma MaxKey string.

Novidades na versão 8.3.

Chave mín.

Retorna como uma MinKey string.

Novidades na versão 8.3.

Objeto

Retorna o objeto como uma string.

Novidades na versão 8.3.

ObjectId

Retorna o valor como uma string ObjectId hexadecimal.

Expressão regular

Retorna como uma Regular Expression string.

Novidades na versão 8.3.

String

Nenhuma operação. Retorna o valor da string.

Timestamp

Retorna como uma Timestamp string.

Novidades na versão 8.3.

Dica

Para converter strings em bases diferentes 10 de, use com $convert a base opção.

A tabela a seguir lista alguns exemplos de conversão para string:

Exemplo
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"

Novidades na versão 8.3.

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

"Timestamp(1565545664, 1)"

Novidades na versão 8.3.

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

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

Novidades na versão 8.3.

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

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

Novidades na versão 8.3.

{ $toString: MinKey }

"MinKey"

Novidades na versão 8.3.

{ $toString: MaxKey }

"MaxKey"

Novidades na versão 8.3.

Crie uma collection orders com os seguintes 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 },
] )

A seguinte operação de aggregation na collection orders converte zipcode para string antes de classificar pelo valor da 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
] )

A operação retorna os seguintes 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'
}

Observação

Se a operação de conversão encontrar um erro, a operação de aggregation interromperá e exibirá um erro. Para substituir esse comportamento, use $convert em vez disso.

Voltar

$topN

Nesta página