O método EJSON.parse() converte valores de string para JSON.
Sintaxe
O método EJSON.parse() usa uma string como entrada e um modificador opcional que controla o formato de saída.
EJSON.parse(string, [options])
Campos de comando
O método EJSON.parse() utiliza estes campos:
Campo | Tipo | necessidade | Descrição | ||||||
|---|---|---|---|---|---|---|---|---|---|
| string | Obrigatório | A string | ||||||
| string | Opcional | Modifica ostipos de saída . A única opção é
|
Comportamento
Você pode chamar EJSON.parse() de dentro de uma sessão de mongosh interativa ou da linha de comando do sistema usando --eval.
Chame EJSON.parse() de uma sessão interativa:
EJSON.parse(string)
Chame EJSON.parse() a partir da linha de comando do sistema:
mongosh --eval "EJSON.parse(string)"
Exemplos
Para testar estes exemplos, primeiro crie a collection 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"), }, ] )
Formatar Entrada com EJSON.parse()
EJSON.parse() aceita uma string como entrada. Para este exemplo, use o EJSON.stringify() para exportar a collection sales como uma string.
let salesCollection = EJSON.stringify( db.sales.find().toArray() )
Use EJSON.parse() para formatar a string para métodos como db.collection.insertMany() que esperam pares JSON:
db.salesRestored.insertMany( EJSON.parse( salesCollection ) )
EJSON.parse()formata os valores emsalesCollectioncomo pares JSON.db.salesRestored.insertMany()utiliza os pares JSON para criar a coleçãosalesRestored.
Use EJSON.parse() da linha de comando
Para importar dados de string de uma fonte externa, como um arquivo ou uma chamada de API, use EJSON.parse() com o método mongosh --eval .
Para este exemplo, salve a coleção sales como um arquivo.
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'sales.json', salesCollection )
O código cria um arquivo no seu sistema local chamado sales.json. Para importar o arquivo e criar uma nova collection, saia do mongosh e execute uma operação do --eval a partir da linha de comando.
# Note: This example is formatted to fit on the page. mongosh --quiet \ --eval "db.salesFromFile.insertMany( \ EJSON.parse( fs.readFileSync( 'sales.json', 'utf8' ) ) )"
EJSON.parse()usa uma string como entrada. Este exemplo utilizafs.readFileSync()para ler o arquivosale.jsoncomo uma string.EJSON.parse()formata a string de entrada como pares JSON.db.salesFromFile.insertMany()cria a collectionsalesFromFilea partir dos pares JSON.
Saiba mais
Documentação do JSON.parse da rede de desenvolvedores Mozilla