O CRUD é um acrônimo das palavras em inglês para Criar, Ler, Atualizar e Deletar que são processos comuns em praticamente qualquer aplicação e que deve ser possível de ser feito com qualquer SGBD (Sistema de Gerenciamento de Banco de Dados).
Cada ação do CRUD é referente a um processo específico: Criar, é o processo de criar uma conta, produto, usuário, etc… no sistema. Ler, é o processo de visualizar todos ou um grupo específico de objetos criados, como ver todos os produtos de uma loja ou somente os produtos de um tipo específico. Atualizar, é o processo de modificar um ou mais valores previamente estabelecidos, como o nome de um produto ou o seu preço. Deletar, é o processo de apagar um objeto completamente, removê-lo do sistema por algum motivo.
Em MongoDB os processos do CRUD são feitos da seguinte forma:
Criar
A criação de um novo objeto no MongoDB pode ser feita criando um objeto (insertOne) ou vários de uma só vez (insertMany).
Criar um objeto só:
db.produtos.insertOne(
{
nome: "bolacha",
preco: 2.25
}
)
Criar vários objetos de uma vez:
db.produtos.insertMany(
{
nome: "biscoito",
preco: 3
tipo: "alimento"
},
{
nome: "bolacha",
preco: 2.25,
tipo: "alimento"
},
{
nome: "rosa do deserto"
preco: 50,
tipo: "enfeite"
}
)
Ler
No MongoDB a leitura de objetos criados é feita utilizando o “find” mostrando a condição que tem que ser atendida para que o produto seja mostrado (se você quiser olhar somente os produtos com uma característica específica) e depois coloca quais informações serão mostradas e quais não serão:
db.produtos.find({tipo: "alimento"}, {nome: 1, preco: 1, tipo: 0})
Atualizar
Existem várias formas de se atualizar um documento do MongoDB e elas podem variar bastante mas uma forma bastante usada é com o uso do “updateMany” que muda todos os valores com uma determinada característica para algo que se queira:
db.produtos.updateMany(
{preco: {<: 4}},
{&set: {preco: 4}}
)
Deletar
Da mesma forma que se pode criar apenas um ou vários objetos de uma vez, pode-se deletar um ou vários objetos de uma vez também utilizando “deleteOne” e “deleteMany”, existem muitas formas de se utilizar cada um mas por exemplo pode ser feito da seguinte forma:
db.produtos.deleteMany(
{
tipo: "enfeite"
}
)