La EJSON.serialize() El método convierte objetos BSON a la representación de Extended JSON 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 objeto de salida tipos. 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