Ao trabalhar com MongoDB, uma das operações mais fundamentais que você precisa entender é como inserir documentos no banco de dados. Inserir documentos é o equivalente a adicionar registros em um banco de dados relacional. No MongoDB, os documentos representam um registro de dados. Neste capítulo, vamos abordar como inserir documentos simples no MongoDB.
Primeiramente, é importante entender que o MongoDB é um banco de dados orientado a documentos. Isso significa que, em vez de armazenar seus dados em tabelas como seria feito em um banco de dados relacional, o MongoDB armazena dados em estruturas de tipo BSON (uma representação binária de JSON com tipos de dados adicionais). Cada documento possui um conjunto de pares de campo-valor. Os campos podem conter outros documentos, arrays e arrays de documentos.
A operação de inserção é realizada usando o método insert()
ou insertOne()
e insertMany()
no MongoDB. O método insert()
foi o principal método de inserção de documentos no MongoDB antes da versão 3.2. A partir da versão 3.2, insertOne()
e insertMany()
foram introduzidos para inserir um único documento e vários documentos respectivamente.
Para inserir um documento simples no MongoDB, você precisará primeiro selecionar a coleção na qual deseja inserir o documento. Uma coleção no MongoDB é um grupo de documentos e é equivalente a uma tabela em um banco de dados relacional. Se a coleção não existir, o MongoDB a criará para você.
Suponha que você queira inserir o seguinte documento em uma coleção chamada 'students':
{ "name": "John Doe", "age": 22, "subjects": ["Math", "Science", "English"] }
Você pode fazer isso usando o método insertOne()
da seguinte maneira:
db.students.insertOne({ "name": "John Doe", "age": 22, "subjects": ["Math", "Science", "English"] });
O método insertOne()
insere um novo documento na coleção especificada. O documento a ser inserido é passado como um argumento para o método insertOne()
.
Depois que o documento é inserido, o MongoDB retorna um documento de resultado que contém o ID do documento inserido. O ID do documento é um campo especial chamado '_id' que é automaticamente adicionado pelo MongoDB se você não fornecer um. O campo '_id' deve ser único dentro da coleção.
Se você quiser inserir vários documentos de uma vez, pode usar o método insertMany()
. O método insertMany()
aceita um array de documentos a serem inseridos. Aqui está um exemplo:
db.students.insertMany([ { "name": "Jane Doe", "age": 20, "subjects": ["History", "Math", "English"] }, { "name": "Bob Smith", "age": 22, "subjects": ["Biology", "Science", "Physics"] } ]);
Assim como o método insertOne()
, o método insertMany()
também retorna um documento de resultado que contém os IDs dos documentos inseridos.
É importante notar que, se ocorrer um erro durante a inserção de documentos usando o método insertMany()
, o MongoDB interromperá a operação e nenhum dos documentos restantes no array será inserido. Se você deseja que o MongoDB insira o máximo de documentos possível, independentemente de erros, pode passar um objeto de opções com a propriedade 'ordered' definida como false. Isso fará com que o MongoDB insira documentos na ordem em que aparecem no array, mas não interromperá a operação se ocorrer um erro.
Em suma, a inserção de documentos no MongoDB é uma operação simples, mas fundamental, que você precisa entender para trabalhar efetivamente com este banco de dados. Seja inserindo um único documento com insertOne()
ou vários documentos com insertMany()
, o processo é direto e flexível, permitindo que você estruture seus dados da maneira que fizer mais sentido para suas necessidades específicas.