El EJSON.deserialize() El método convierte objetos JSON extendidos en objetos BSON.
Sintaxis
El método tiene esta sintaxis:
EJSON.deserialize( object, [ options ] )
Campos de método
El método toma los siguientes campos:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| objeto EJSON | Requerido | Objeto EJSON para convertir. Por ejemplo, una matriz de documentos. |
| string | Opcional |
Comportamiento
Puede ejecutar EJSON.deserialize() desde una sesión interactiva mongosh o desde la línea de comandos del sistema usando --eval.
Para ejecutar EJSON.deserialize() desde una sesión interactiva mongosh, utilice:
EJSON.deserialize( object, [ options ] )
Para ejecutar EJSON.deserialize() desde la línea de comandos del sistema, utilice:
mongosh --eval "EJSON.deserialize( object, [ options ] )"
Ejemplo
Crear 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") } ] )
Las siguientes secciones muestran cómo crear un archivo de ejemplo y luego importar el archivo con un ejemplo EJSON.deserialize().
Crear el archivo de ejemplo
El siguiente ejemplo recupera los documentos sales como una matriz y guarda los resultados en un archivo llamado salesDeserialize.json en el sistema de archivos de la computadora:
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'salesDeserialize.json', salesCollection )
Importar el archivo de ejemplo desde la línea de comandos
Para importar el archivo salesDeserialize.json y crear una nueva colección llamada salesFromDeserializeFile, salga de mongosh y luego ejecute este ejemplo desde la línea 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' ) ) ) )"
En el ejemplo:
fs.readFileSync()Lee el archivosalesDeserialize.jsone interpreta el contenido como cadenas de caracteres Unicodeutf8.JSON.parse()Convierte las cadenas leídas del archivo a JSON.EJSON.deserialize()outputs JSON.db.salesFromDeserializeFile.insertMany()crea y rellena la colecciónsalesFromDeserializeFileutilizando el JSON devuelto porEJSON.deserialize().
Nota
Podrías usar EJSON.parse() en el ejemplo anterior, que es un enfoque más simple. JSON.parse() y EJSON.deserialize() proporcionan más flexibilidad.
Obtén más información
Documentación deEJSON