EJSON.deserialize()
Nesta página
O método EJSON.deserialize()
converte objetos JSON estendidos em objetos BSON.
Sintaxe
O método tem esta sintaxe:
EJSON.deserialize( object, [ options ] )
Campos de método
O método utiliza os seguintes campos:
Campo | Tipo | necessidade | Descrição | ||||||
---|---|---|---|---|---|---|---|---|---|
object | Objeto EJSON | Obrigatório | Objeto EJSON a ser convertido. Por exemplo, uma array de documentos. | ||||||
options | string | Opcional | Modifica ostipos de objeto de saída . A única opção é
|
Comportamento
Você pode executar EJSON.deserialize()
a partir de uma sessão mongosh
interativa ou a partir da linha de comando do sistema usando --eval
.
Para executar EJSON.deserialize()
a partir de uma sessão mongosh
interativa, use:
EJSON.deserialize( object, [ options ] )
Para executar EJSON.deserialize()
na linha de comando do sistema, use:
mongosh --eval "EJSON.deserialize( object, [ options ] )"
Exemplo
Crie a coleção sales
:
db.sales.insertMany( [ { custId: 345, purchaseDate: ISODate("2023-07-04"), quantity: 4, cost: Decimal128("100.60") }, { custId: 346, purchaseDate: ISODate("2023-07-12"), quantity: 3, cost: Decimal128("175.45") }, { custId: 486, purchaseDate: ISODate("2023-08-01"), quantity: 9, cost: Decimal128("200.53") } ] )
As seções a seguir mostram como criar um arquivo de exemplo e importar o arquivo com um exemplo EJSON.deserialize()
.
Criar o arquivo de exemplo
O exemplo a seguir recupera os documentos sales
como uma array e salva os resultados em um arquivo chamado salesDeserialize.json
no sistema de arquivos do computador:
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'salesDeserialize.json', salesCollection )
Importar o arquivo de exemplo da linha de comando
Para importar o arquivo salesDeserialize.json
e criar uma nova collection chamada salesFromDeserializeFile
, saia do mongosh
e execute este exemplo na linha de comando:
Note: The example is formatted to fit the page. mongosh --quiet --eval "db.salesFromDeserializeFile.insertMany( \ EJSON.deserialize( JSON.parse ( \ fs.readFileSync( 'salesDeserialize.json', 'utf8' ) ) ) )"
No exemplo:
fs.readFileSync()
lê o arquivosalesDeserialize.json
e interpreta o conteúdo comoutf8
cadeias de caracteres Unicode.JSON.parse()
converte as strings lidas do arquivo para JSON.EJSON.deserialize()
emite JSON.db.salesFromDeserializeFile.insertMany()
cria e preenche a collectionsalesFromDeserializeFile
utilizando o JSON retornado porEJSON.deserialize()
.
Observação
Você poderia usar EJSON.parse()
no exemplo anterior, que é uma abordagem mais simples. JSON.parse()
e EJSON.deserialize()
fornecem mais flexibilidade.
Saiba mais
EJSON documentação