Estabelecendo Relacionamentos de Documentos
Nesta primeira etapa, você criará duas coleções separadas e estabelecerá um relacionamento entre elas. Modelaremos um cenário comum: um banco de dados de biblioteca com authors (autores) e books (livros). Cada livro referenciará seu autor.
Primeiro, abra o MongoDB Shell. Esta interface interativa de linha de comando permite que você interaja com sua instância do MongoDB.
mongosh
Uma vez dentro do shell, você verá um prompt test>. Vamos mudar para um novo banco de dados chamado library_database. Se o banco de dados não existir, o MongoDB o criará para você quando você armazenar dados pela primeira vez.
use library_database
Agora, vamos criar a coleção authors inserindo dois documentos. Cada documento tem um _id único do tipo ObjectId, que usaremos para referenciamento.
db.authors.insertMany([
{
_id: ObjectId("660a1f5c9b8f8b1234567890"),
name: "Jane Austen",
nationality: "British"
},
{
_id: ObjectId("660a1f5c9b8f8b1234567891"),
name: "George Orwell",
nationality: "British"
}
]);
Você deverá ver uma confirmação de que os documentos foram inseridos com sucesso.
Exemplo de saída:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660a1f5c9b8f8b1234567890"),
"1": ObjectId("660a1f5c9b8f8b1234567891")
}
}
Em seguida, crie a coleção books. Em cada documento de livro, o campo author_id armazenará o ObjectId do autor correspondente da coleção authors. Isso cria o vínculo entre um livro e seu autor.
db.books.insertMany([
{
title: "Pride and Prejudice",
author_id: ObjectId("660a1f5c9b8f8b1234567890"),
year: 1813
},
{
title: "1984",
author_id: ObjectId("660a1f5c9b8f8b1234567891"),
year: 1949
}
]);
Exemplo de saída:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660b2a1c9b8f8b1234567892"),
"1": ObjectId("660b2a1c9b8f8b1234567893")
}
}
Você agora criou com sucesso duas coleções e vinculou documentos na coleção books a documentos na coleção authors. Mantenha o MongoDB shell aberto para a próxima etapa.