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 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Objeto EJSON | Obrigatório | Objeto EJSON a ser convertido. Por exemplo, uma array de documentos. | ||||||
| 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.jsone interpreta o conteúdo comoutf8cadeias de caracteres Unicode.JSON.parse()converte as strings lidas do arquivo para JSON.EJSON.deserialize()emite JSON.db.salesFromDeserializeFile.insertMany()cria e preenche a collectionsalesFromDeserializeFileutilizando 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.