Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

EJSON.deserialize()

El método EJSON.deserialize() convierte los objetos Extended JSON a objetos BSON.

El método tiene esta sintaxis:

EJSON.deserialize( object, [ options ] )

El método abarca los siguientes campos:

Campo
Tipo
Necesidad
Descripción

object

objeto EJSON

Requerido

Objeto EJSON para convertir. Por ejemplo, un arreglo de documentos.

options

string

Opcional

Modifica el tipo de objeto Realm de salida. La única opción es { relaxed: <boolean> }.

  • true: Devuelve tipos de objetos JavaScript simples. El valor predeterminado es true.

  • false: Devuelve tipos de objetos BSON.

Puede ejecutar EJSON.deserialize() desde una sesión mongosh interactiva o desde la línea de comandos del sistema utilizando --eval.

Para ejecutar EJSON.deserialize() desde una sesión interactiva de mongosh, utiliza:

EJSON.deserialize( object, [ options ] )

Para ejecutar EJSON.deserialize() desde la línea de comandos del sistema, use:

mongosh --eval "EJSON.deserialize( object, [ options ] )"

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 de EJSON.deserialize().

El siguiente ejemplo recupera los documentos sales como un arreglo 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 )

Para importar el archivo salesDeserialize.json y crear una nueva colección llamada salesFromDeserializeFile, salir de mongosh y luego ejecutar este ejemplo desde la línea de comandos:

# 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 archivo salesDeserialize.json e interpreta el contenido como cadenas de caracteres Unicode utf8.

  • JSON.parse() convierte las cadenas leídas desde el archivo a JSON.

  • EJSON.deserialize() outputs JSON.

  • db.salesFromDeserializeFile.insertMany() crea y llena la colección salesFromDeserializeFile usando el JSON devuelto por EJSON.deserialize().

Nota

Podrías usar EJSON.parse() en el ejemplo anterior, que es un enfoque más sencillo. JSON.parse() y EJSON.deserialize() ofrecen mayor flexibilidad.

Advertencia

Validar la entrada no confiable antes de convertir JSON a BSON.

Si convierte una string JSON a BSON y utiliza el BSON resultante en una query, una actualización o un comando, un atacante puede inyectar operadores o valores de campo inesperados que cambian el significado de la operación. Este riesgo es mayor cuando el JSON procede de un usuario, una solicitud de API o de otra fuente que no sea de confianza.

Para obtener más información sobre cómo validar la entrada antes de la conversión, consulte Validar la entrada no confiable antes de convertir JSON a BSON.