Antes de prosseguirmos com a criação de um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB, é fundamental entendermos o que é o MongoDB. O MongoDB é um banco de dados NoSQL orientado a documentos. Isso significa que, em vez de tabelas e linhas como em bancos de dados relacionais, o MongoDB é construído em torno do conceito de coleções e documentos.
Para começar, precisamos instalar o MongoDB em nosso sistema. A instalação pode variar dependendo do sistema operacional que você está usando. Para este guia, vamos supor que você esteja usando um sistema operacional baseado em Unix, como o Ubuntu.
Primeiro, precisamos atualizar o índice de pacotes do nosso sistema com o seguinte comando:
sudo apt-get update
Em seguida, podemos instalar o MongoDB com:
sudo apt-get install -y mongodb
Depois que a instalação for concluída, você pode iniciar o MongoDB com:
sudo service mongodb start
Para verificar se a instalação foi bem-sucedida, você pode executar:
sudo service mongodb status
Agora que temos o MongoDB instalado, podemos começar a criar nosso CRUD com NodeJS. Primeiro, precisamos instalar o NodeJS em nosso sistema. Você pode fazer isso com o seguinte comando:
sudo apt-get install -y nodejs
Depois de instalar o NodeJS, precisamos instalar o NPM (Node Package Manager), que é um gerenciador de pacotes para o NodeJS. Você pode fazer isso com o seguinte comando:
sudo apt-get install -y npm
Agora que temos o NodeJS e o NPM instalados, podemos começar a criar nosso projeto. Primeiro, vamos criar um novo diretório para o nosso projeto e navegar até ele com:
mkdir my-api && cd my-api
Em seguida, vamos inicializar um novo projeto NodeJS com:
npm init -y
Isso criará um novo arquivo package.json em nosso diretório, que conterá as informações do nosso projeto e suas dependências.
Para interagir com o MongoDB, precisamos instalar um driver NodeJS para o MongoDB. O mais popular é o Mongoose, que podemos instalar com:
npm install mongoose
Agora estamos prontos para começar a escrever nosso CRUD. Primeiro, vamos criar um novo arquivo chamado app.js em nosso diretório com:
touch app.js
Em seguida, vamos abrir este arquivo em nosso editor de texto preferido e começar a escrever nosso código. Primeiro, precisamos importar o Mongoose com:
const mongoose = require('mongoose');
Em seguida, precisamos conectar o Mongoose ao nosso banco de dados MongoDB com:
mongoose.connect('mongodb://localhost/my_database', {useNewUrlParser: true, useUnifiedTopology: true});
Agora estamos prontos para definir nosso esquema de banco de dados e criar nossas funções CRUD. Um esquema em Mongoose é uma estrutura que define a forma dos documentos dentro de uma coleção. Podemos definir um esquema com:
const UserSchema = new mongoose.Schema({ name: String, email: String, password: String });
Em seguida, podemos criar um modelo a partir deste esquema com:
const User = mongoose.model('User', UserSchema);
Agora podemos criar nossas funções CRUD. Por exemplo, para criar um novo usuário, podemos fazer:
const user = new User({ name: 'John', email: 'john@example.com', password: 'secret' }); user.save();
Para ler um usuário, podemos fazer:
User.findById('id_do_usuário');
Para atualizar um usuário, podemos fazer:
User.findByIdAndUpdate('id_do_usuário', { name: 'Jane' });
E para deletar um usuário, podemos fazer:
User.findByIdAndDelete('id_do_usuário');
Com isso, você deve ter uma compreensão básica de como criar um CRUD com NodeJS e MongoDB. Lembre-se de que este é apenas um exemplo básico e que você pode expandir isso para se adequar às suas necessidades específicas.