Uma das tarefas mais fundamentais ao trabalhar com qualquer banco de dados é inserir dados nele. No MongoDB, os dados são armazenados como documentos, que são estruturas de dados semelhantes a JSON (JavaScript Object Notation). Neste capítulo, vamos discutir como inserir documentos em uma coleção do MongoDB.
Antes de começarmos, é importante entender que no MongoDB, um banco de dados não é criado até que os dados sejam armazenados nele. Portanto, a primeira vez que inserimos um documento em uma coleção, o MongoDB criará tanto o banco de dados quanto a coleção para nós.
Inserindo um único documento
Para inserir um único documento em uma coleção, usamos o método insertOne()
. Este método cria um novo documento se os campos no documento não existirem na coleção. Se o documento contém um campo "_id", o método verificará a coleção para ver se um documento com o mesmo ID já existe. Se o documento existe, o método retornará um erro.
db.collection('collectionName').insertOne( { item: "item1", qty: 10 }, function(err, result) { console.log(result); } );
Neste exemplo, estamos inserindo um documento com dois campos, "item" e "qty", na coleção chamada 'collectionName'. Se a inserção for bem-sucedida, o método retornará um objeto de resultado que contém informações sobre a operação.
Inserindo vários documentos
Para inserir vários documentos em uma coleção de uma só vez, usamos o método insertMany()
. Este método aceita um array de documentos a serem inseridos na coleção.
db.collection('collectionName').insertMany( [ { item: "item1", qty: 10 }, { item: "item2", qty: 20 }, { item: "item3", qty: 30 } ], function(err, result) { console.log(result); } );
Neste exemplo, estamos inserindo três documentos na coleção 'collectionName'. Novamente, se a inserção for bem-sucedida, o método retornará um objeto de resultado que contém informações sobre a operação.
Trabalhando com o campo _id
No MongoDB, cada documento deve ter um campo "_id" único que atua como a chave primária para o documento. Se um documento que está sendo inserido não contém um campo "_id", o MongoDB adicionará um para nós. O valor do campo "_id" é um objeto ObjectId que é gerado automaticamente pelo MongoDB.
Podemos também fornecer nosso próprio valor para o campo "_id" quando inserimos um documento. No entanto, devemos garantir que o valor seja único na coleção.
db.collection('collectionName').insertOne( { _id: "myId", item: "item1", qty: 10 }, function(err, result) { console.log(result); } );
Neste exemplo, estamos fornecendo nosso próprio valor para o campo "_id" quando inserimos um documento. Se um documento com o mesmo ID já existir na coleção, a operação de inserção falhará.
Conclusão
Inserir documentos em uma coleção é uma tarefa básica, mas essencial ao trabalhar com o MongoDB. Através do uso dos métodos insertOne()
e insertMany()
, podemos inserir um único documento ou vários documentos em uma coleção de uma só vez. Também temos a flexibilidade de fornecer nosso próprio valor para o campo "_id" de um documento, desde que seja único na coleção.
Compreender como inserir documentos é um passo importante para trabalhar efetivamente com o MongoDB. No próximo capítulo, discutiremos como consultar documentos em uma coleção do MongoDB.