El método EJSON.parse() convierte los valores de string en JSON.
Sintaxis
El método EJSON.parse() toma una string como entrada y un modificador opcional que controla el formato de salida.
EJSON.parse(string, [options])
Campos de comandos
El método EJSON.parse() toma estos campos:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| string | Requerido | La string |
| string | Opcional | Modifica los tipos de salida. La única opción es
|
Comportamiento
Puedes llamar a EJSON.parse() desde una sesión interactiva de mongosh o desde la lÃnea de comandos del sistema usando --eval.
Llame a EJSON.parse() desde una sesión interactiva:
EJSON.parse(string)
Llama a EJSON.parse() desde la lÃnea de comandos del sistema:
mongosh --eval "EJSON.parse(string)"
Ejemplos
Para probar estos ejemplos, primero cree la colección 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"), }, ] )
Formatear entrada con EJSON.parse()
EJSON.parse() acepta una string como entrada. Para este ejemplo, usa la EJSON.stringify() método para exportar la colección sales como una string.
let salesCollection = EJSON.stringify( db.sales.find().toArray() )
Utiliza EJSON.parse() para formatear la string en métodos como db.collection.insertMany() que esperan pares JSON:
db.salesRestored.insertMany( EJSON.parse( salesCollection ) )
EJSON.parse()da formato a los valores ensalesCollectioncomo pares JSON.db.salesRestored.insertMany()utiliza los pares de JSON para crear la colecciónsalesRestored.
Usa EJSON.parse() desde la lÃnea de comandos
Para importar datos string desde una fuente externa como un archivo o una llamada a una API, usa EJSON.parse() con el método mongosh --eval.
Para este ejemplo, guarde la colección sales como un archivo.
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'sales.json', salesCollection )
El código crea un archivo en su sistema local llamado sales.json. Para importar el archivo y crear una nueva colección, salga de mongosh y ejecute una operación de --eval desde la lÃnea de comandos.
# 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()toma una string como entrada. Este ejemplo empleafs.readFileSync()para leer el archivosale.jsoncomo una string.EJSON.parse()formatea la string de entrada como pares JSON.db.salesFromFile.insertMany()crea la colecciónsalesFromFilea partir de los pares JSON.
Advertencia
Validar la entrada no confiable antes de convertir JSON a BSON.
Si convierte una string JSON a BSON y utiliza el BSON resultante en una query, una actualización o un comando, un atacante puede inyectar operadores o valores de campo inesperados que cambian el significado de la operación. Este riesgo es mayor cuando el JSON procede de un usuario, una solicitud de API o de otra fuente que no sea de confianza.
Para obtener más información sobre cómo validar la entrada antes de la conversión, consulte Validar la entrada no confiable antes de convertir JSON a BSON.
Obtén más información
EJSON documentation
Documentación de Mozilla Red de desarrolladores JSON.parse