Como fazer um C.R.U.D. com MongoDB

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: {&lt: 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"
    }
)