Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

EJSON.parse()

O método EJSON.parse() converte valores de string para JSON.

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])

O método EJSON.parse() utiliza estes campos:

Campo
Tipo
necessidade
Descrição

value

string

Obrigatório

A string EJSON.parse() se transforma em pares de valor-chave JSON

options

string

Opcional

Modifica tipos de saída . A única opção é { relaxed: <boolean> }.

  • true: Retorna tipos nativos do JavaScript quando possível

  • false: Prefira retornar BSON types

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

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"), },] )

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 em salesCollection como pares JSON.

  • db.salesRestored.insertMany() utiliza os pares JSON para criar a coleção salesRestored .

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 utiliza fs.readFileSync() para ler o arquivo sale.json como uma string.

  • EJSON.parse() formata a string de entrada como pares JSON.

  • db.salesFromFile.insertMany() cria a collection salesFromFile a partir dos pares JSON.

Aviso

Valide entradas não confiáveis antes de converter JSON em BSON

Se você converter uma string JSON para BSON e usar o BSON resultante em uma query, atualizar ou comando, um invasor pode injetar operadores ou valores de campo inesperados que alteram o significado da operação. Esse risco é maior quando o JSON se origina de um usuário, uma solicitação de API ou outra fonte não confiável.

Para aprender mais sobre como validar a entrada antes da conversão, consulte Validar entrada não confiável antes de converter JSON em BSON.