La EJSON.serialize() El método convierte objetos BSON en representación JSON extendida como objetos JavaScript.
MongoDB almacena datos usando BSON. Muchas aplicaciones externas de transformación de datos utilizan JSON. Puedes usar EJSON.serialize() para convertir BSON en JSON y guardar la salida para esas aplicaciones externas.
Sintaxis
El método tiene esta sintaxis:
EJSON.serialize( object, [ options ] )
Campos de métodos
El método abarca los siguientes campos:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| Objeto BSON | Requerido | Objeto BSON a convertir. Por ejemplo, un arreglo de documentos. |
| string | Opcional |
Comportamiento
Puede ejecutar EJSON.serialize() desde una sesión mongosh interactiva o desde la línea de comandos del sistema utilizando --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' } } ]
Interfaz de línea de comandos Mongo Shell EJSON.serialize() ejemplo
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
EJSON documentation