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âmetropretty()
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()
eupsert()
.
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)