Exportar una Colección a JSON
En este primer paso, aprenderá el proceso fundamental de exportar una colección de MongoDB a un archivo JSON. JSON (JavaScript Object Notation) es un formato estándar que conserva la rica estructura anidada de los documentos de MongoDB, lo que lo hace ideal para copias de seguridad y migraciones.
Primero, necesita conectarse al servidor MongoDB y crear algunos datos de muestra. Abra la Shell de MongoDB ejecutando el siguiente comando en su terminal:
mongosh
Una vez que esté dentro de la Shell de MongoDB, verá un nuevo prompt. Ahora, cree y cambie a una nueva base de datos llamada exportlab e inserte tres documentos en una colección users.
use exportlab
db.users.insertMany([
{ name: "Alice", age: 28, email: "alice@example.com", status: "active" },
{ name: "Bob", age: 35, email: "bob@example.com", status: "active" },
{ name: "Charlie", age: 42, email: "charlie@example.com", status: "inactive" }
]);
Después de que se inserten los documentos, verá un mensaje de confirmación. Ahora, salga de la Shell de MongoDB para regresar a su terminal normal.
exit;
Con los datos en su lugar, ahora puede usar la utilidad mongoexport para exportar la colección users. Este comando especifica la base de datos, la colección y el archivo de salida.
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: Especifica la base de datos a la que conectarse (exportlab).
--collection: Especifica la colección a exportar (users).
--out: Especifica la ruta y el nombre del archivo de salida ($HOME/project/users.json).
Para confirmar que la exportación fue exitosa, vea el contenido del archivo JSON recién creado.
cat ~/project/users.json
Verá los tres documentos que insertó, cada uno en una nueva línea en formato JSON. Este formato se llama JSONL (JSON Lines), donde cada línea contiene un objeto JSON separado y completo. Tenga en cuenta que MongoDB agrega un campo _id único a cada documento.
{"_id":{"$oid":"656f1a6b..."},"name":"Alice","age":28,"email":"alice@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Bob","age":35,"email":"bob@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Charlie","age":42,"email":"charlie@example.com","status":"inactive"}