El EJSON.serialize() El método convierte objetos BSON en representación JSON extendida como objetos JavaScript.
MongoDB almacena datos mediante BSON. Muchas aplicaciones externas de transformación de datos utilizan JSON. Puede usar EJSON.serialize() para convertir BSON a JSON y guardar el resultado para dichas aplicaciones externas.
Sintaxis
El método tiene esta sintaxis:
EJSON.serialize( object, [ options ] )
Campos de método
El método toma los siguientes campos:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| Objeto BSON | Requerido | Objeto BSON para convertir. Por ejemplo, una matriz de documentos. |
| string | Opcional |
Comportamiento
Puede ejecutar EJSON.serialize() desde una sesión interactiva mongosh o desde la línea de comandos del sistema usando --eval.
Para ejecutar EJSON.serialize() desde una sesión interactiva mongosh, utilice:
EJSON.serialize( object, [ options ] )
Para ejecutar EJSON.serialize() desde la línea de comandos del sistema, utilice:
mongosh --eval "EJSON.serialize( object, [ options ] )"
Ejemplos
Crea la colección sales para los ejemplos:
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") } ] )
Mongo Shell interactivo EJSON.serialize() Ejemplo
El siguiente ejemplo recupera los documentos sales como una matriz y almacena los resultados en el objeto salesCollection:
salesCollection = EJSON.serialize( db.sales.find().toArray() )
Ejemplo de salida, que utiliza JSON:
[ { _id: { '$oid': '6520519a0dbd2d208a5c7941' }, custId: 345, purchaseDate: { '$date': '2023-07-04T00:00:00Z' }, quantity: 4, cost: { '$numberDecimal': '100.60' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7942' }, custId: 346, purchaseDate: { '$date': '2023-07-12T00:00:00Z' }, quantity: 3, cost: { '$numberDecimal': '175.45' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7943' }, custId: 486, purchaseDate: { '$date': '2023-08-01T00:00:00Z' }, quantity: 9, cost: { '$numberDecimal': '200.53' } } ]
Ejemplo de EJSON.serialize() de Mongo Shell en la línea de comandos
Para guardar datos de recopilación en un archivo, puede utilizar EJSON.serialize() con el método mongosh --eval.
El siguiente ejemplo recupera los documentos sales como una matriz y guarda los resultados en un archivo llamado sales.json en el sistema de archivos de la computadora:
# Note: The example is formatted to fit the page. mongosh --quiet \ --eval "EJSON.serialize( db.sales.find().toArray() )" \ > sales.json
Luego podría utilizar el archivo sales.json con una aplicación de transformación de datos externa.
Obtén más información
Documentación deEJSON