8.15. Inserindo documentos no MongoDB: Tratamento de erros na inserção de documentos

Página 23

Inserindo documentos no MongoDB: Tratamento de erros na inserção de documentos

O MongoDB é um banco de dados NoSQL baseado em documentos, o que significa que os dados são armazenados em uma estrutura semelhante a JSON. A inserção de documentos é uma operação fundamental no MongoDB e, como tal, é crucial entender como lidar com erros que possam ocorrer durante esse processo.

1. Inserindo Documentos

Para inserir um documento no MongoDB, utilizamos o método 'insertOne()', 'insertMany()' ou 'insert()'. Por exemplo, para inserir um único documento em uma coleção chamada 'users', você pode usar o seguinte código:

db.users.insertOne(
   { 
      name: "John Doe", 
      email: "[email protected]", 
      age: 30 
   }
)

Este código insere um documento com os campos 'name', 'email' e 'age' na coleção 'users'. Se a operação for bem-sucedida, o MongoDB retornará um objeto de resultado que contém o '_id' do documento inserido.

2. Tratamento de Erros na Inserção de Documentos

Existem vários erros que podem ocorrer ao inserir documentos no MongoDB. Aqui estão alguns dos mais comuns:

2.1. Erro de Validação de Esquema

Se você estiver usando a validação de esquema do MongoDB para impor a estrutura de seus documentos, poderá encontrar erros de validação se tentar inserir um documento que não corresponda ao esquema. Para lidar com esses erros, você pode capturar a exceção e retornar uma mensagem de erro apropriada.

2.2. Erro de Duplicação de Chave

O MongoDB não permite a inserção de dois documentos com o mesmo valor para um campo que foi indexado como único. Se você tentar inserir um documento que viole essa restrição, o MongoDB lançará um erro de duplicação de chave. Este erro pode ser tratado capturando a exceção e retornando uma mensagem de erro apropriada.

2.3. Erro de Limite de Tamanho de Documento

O MongoDB tem um limite de tamanho de documento de 16 megabytes. Se você tentar inserir um documento que exceda esse limite, o MongoDB lançará um erro. Para lidar com esse erro, você pode verificar o tamanho do documento antes de tentar inseri-lo e, se for muito grande, dividir o documento em vários documentos menores.

3. Exemplos de Tratamento de Erros

Aqui estão alguns exemplos de como você pode tratar erros ao inserir documentos no MongoDB:

3.1. Tratamento de Erro de Validação de Esquema

try {
   db.users.insertOne(
      { 
         name: "John Doe", 
         email: "[email protected]", 
         age: "30" 
      }
   );
} catch (e) {
   if (e.name === 'MongoError' && e.code === 121) {
      console.error('Erro de validação de esquema: ', e.message);
   } else {
      throw e;
   }
}

3.2. Tratamento de Erro de Duplicação de Chave

try {
   db.users.insertOne(
      { 
         _id: "123", 
         name: "John Doe", 
         email: "[email protected]", 
         age: 30 
      }
   );
} catch (e) {
   if (e.name === 'MongoError' && e.code === 11000) {
      console.error('Erro de duplicação de chave: ', e.message);
   } else {
      throw e;
   }
}

3.3. Tratamento de Erro de Limite de Tamanho de Documento

try {
   var largeDocument = { /* um documento muito grande */ };
   db.largeDocuments.insertOne(largeDocument);
} catch (e) {
   if (e.name === 'MongoError' && e.code === 10334) {
      console.error('Erro de limite de tamanho de documento: ', e.message);
   } else {
      throw e;
   }
}

Conclusão

O tratamento de erros é uma parte essencial da inserção de documentos no MongoDB. Ao entender os diferentes tipos de erros que podem ocorrer e como tratá-los, você pode garantir que seu aplicativo seja robusto e confiável.

Now answer the exercise about the content:

Quais são alguns dos erros comuns que podem ocorrer ao inserir documentos no MongoDB e como eles podem ser tratados?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

248.16. Inserindo documentos no MongoDB: Otimização de performance na inserção de documentos

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text