El método EJSON.serialize() convierte los objetos BSON en una representación de JSON extendido 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 | Modifica el tipo de objeto Realm de salida. La única opción es
|
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 de mongosh, utiliza:
EJSON.serialize( object, [ options ] )
Para ejecutar EJSON.serialize() desde la línea de comandos del sistema, use:
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 sales documentos como un arreglo 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 los datos de la colección en un archivo, se puede utilizar EJSON.serialize() con el método mongosh --eval.
El siguiente ejemplo recupera los documentos sales como un arreglo 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
A continuación, puedes utilizar el archivo sales.json con una aplicación externa de transformación de datos.
Obtén más información
EJSON documentation