Estarei usando esse site como registro dos meus estudos, a intensão é totalmente fixar o conteúdo aprendido!
Primeira coisa que tem que entender sobre o MongoDB é o conceito, entender a lógica de um banco de dados não relacional.
A Documentação do MongoDB é incrível, eu consegui entender super bem por lá, precisando ver pequenas coisas por fora.
Se você é como eu, que tem o conceito de banco de dados relacional muito fixo e não entendeu de primeira a maneira na qual o não relacional funciona recomendo ver essa parte da documentação do MongoDB, Comparação com SQL.
✨ Características:
- Os dados são organizados em funções;
- Documento definido por um objeto, tendo o formato de campo:valor;
- Não existe tabelas, sim collections;
- As collections não tem contains (PK, FK), transações e também não tem as limitações das tabelas relacionais;
- Composto por documentos, esses documentos são em formato JSON;
- Os documentos são agrupados em collections;
- O conjunto de collections formam um database;
- Collection é um conjunto de dados;
✨ Fluxo de acesso
Para visualizar todos os documentos existentes.
Comando : > show databases
Para colocar em uso caso exista, senão, ele é automaticamente criado.
Comando: > use estudos
OBS.: a collection só oficialmente criada após a inserção de um registro
Para visualizar as collections.
Comando: > show collections
Para visualizar em qual documento você está.
Comando: > db
✨ Operações de CRUD
  
  
  São funções que fazem as operações, como por exemplo: insert(), find(), findOne(), update() e delete();
Create
> use <nome-collection>
- Esse comando serve para criar o banco, mas só será oficialmente criado com a inserção do primeiro registro.
Read
- Esse comando serve para visualizar os registros da sua collection (apenas os 20 primeiros). 
 Comando:- > db.<nome-collection>.find()
- Visualizar em formato JSON. 
 Comando:- > db.<nome-collection>.find().pretty();
- Ver um registro em específico. 
 Comando:- > db.<nome-collection>.find({ <nome-campo> : <valor> })
 Pode-se usar o parâmetro- pretty()sempre que quiser ver em formato JSON.
Insert
- Adicionar um único registro em sua collection definida: 
 Comando:- > db.<nome-collection>.insert({ campo:valor })
- Há duas opções de como adicionar vários registros em sua collection definida: 
1ª opção: Usando um array para inserir os registros, logo em seguida adicionar o array no parâmetro insert:
Comando: 
> addArray = [ { campo:valor}, { campo:valor}, {campo:valor}, { campo: [ {campo:valor }, {campo:valor } ] } ]
> db.<nome-collection>.insert(addArray)
2ª opção: Usar a função insertMany():
Comando: db.<nome-collection>.insertMany([ { campo:valor, campo:valor, campo:valor }, { campo:valor, campo:valor, campo:valor } ] )
Update
Importante lembrar que, a função update pode ser muito perigosa, podendo apagar registros de seu documento, então atente-se as regras de "segurança".
- Atualizando um único registro em sua collection definida, usando o _id como filtro, pois é um registro único: 
 Comando:- > db.<nome-collection>.updateOne({ _id: ObjectId("5eeed2755cda39dc20cb990c")}, {$set: {campo:valor}})
- O operador $set irá sobrescrevê-lo, sendo atualizado. 
- Existem outras funções de update como, - update(),- updateMany()e- upsert().
OBS.:
- Cada ObjectId() é diferente então para encontrar o seu use o comando > db.<nome-collection>.find();
- Se for atualizar um campo que não existe ele será automaticamente criado.
Delete
Seguindo a lógica das funções do update(), temos duas opções de como deletar um registro, usando deleteOne() ou deleteMany().
- Para apagar todos os registros com um campo especifico:
> db.<nome-collection>.deleteOne({campo:valor})
Caso queira deletar um registro em especifico não se esqueça de utilizar o ObjectId().
Fim! :D
 

 
    
Top comments (0)