Exportando uma Coleção para JSON
Nesta primeira etapa, você aprenderá o processo fundamental de exportar uma coleção MongoDB para um arquivo JSON. JSON (JavaScript Object Notation) é um formato padrão que preserva a estrutura rica e aninhada dos documentos MongoDB, tornando-o ideal para backups e migrações.
Primeiro, você precisa se conectar ao servidor MongoDB e criar alguns dados de exemplo. Abra o MongoDB Shell executando o seguinte comando no seu terminal:
mongosh
Assim que estiver dentro do MongoDB Shell, você verá um novo prompt. Agora, crie e mude para um novo banco de dados chamado exportlab e insira três documentos em uma coleção 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" }
]);
Após a inserção dos documentos, você verá uma mensagem de confirmação. Agora, saia do MongoDB Shell para retornar ao seu terminal regular.
exit;
Com os dados no lugar, você pode agora usar a utilidade mongoexport para exportar a coleção users. Este comando especifica o banco de dados, a coleção e o arquivo de saída.
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: Especifica o banco de dados ao qual se conectar (exportlab).
--collection: Especifica a coleção a ser exportada (users).
--out: Especifica o caminho e o nome do arquivo de saída ($HOME/project/users.json).
Para confirmar que a exportação foi bem-sucedida, visualize o conteúdo do arquivo JSON recém-criado.
cat ~/project/users.json
Você verá os três documentos que inseriu, cada um em uma nova linha no formato JSON. Este formato é chamado JSONL (JSON Lines), onde cada linha contém um objeto JSON separado e completo. Observe que o MongoDB adiciona um 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"}