API do Node.js + Operações CRUD do MongoDB | Parte 02

Jan 08 2023
Esta é a Parte 02 da série Node.js API + MongoDB CRUD Operations.

Esta é a Parte 02 da série Node.js API + MongoDB CRUD Operations. Se você não leu a Parte 01, não está atrasado aqui está o link, e gastou pouco 4 minutos nele. [ Link da Parte 01 ].

Agora você iniciou o projeto do nó. Em seguida, execute-o em um terminal integrado usando npm start. Agora, é hora de fazer outras importações e configurações para conectar o banco de dados à nossa aplicação.

Portanto, temos que importar o pacote body-parser para o index.jsarquivo (servidor). Este pacote é usado para converter o corpo da solicitação em um determinado formato, então ele estará dentro do middleware. Podemos configurar o middleware usando o use()método. Então, qualquer que seja a solicitação que chegue ao aplicativo, o corpo será convertido em um JSONobjeto.

const bodyParser = require("body-parser");
app.use(bodyParser.json());

const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());

app.listen(3000, () => console.log("Server is started on 3000"));

Aqui, usamos o MongoDB online. Você pode ir para MongoDB: A plataforma de dados do desenvolvedor | MongoDB . Se você tiver um servidor online, poderá fazer login nele.

Não se preocupe se você não criou um servidor MongoDB.

Basta clicar em inscrever-se e preencher o fórum que eles fornecem e se inscrever com uma conta do Google.

imagem por autor

Depois disso, você deve aceitar os termos e políticas abaixo e responder no próximo fórum.

imagem por autor
imagem por autor
imagem por autor

Crie seu servidor com a configuração padrão que eles forneceram. Clique em criar o cluster.

Vá para o banco de dados e veja o cluster padrão como Cluster0. Em seguida, clique em cluster e vá para a guia de coleta onde armazenamos os dados de nosso aplicativo.

imagem por autor

É hora de fazer as configurações iniciais. Precisamos de pelo menos um usuário para se conectar com o banco de dados. Para isso, vá para a guia Database Access e Add New Database User.

imagem por autor

Para adicionar um novo usuário, você receberá uma guia como abaixo.

imagem por autor

Então temos que configurar o acesso à rede. Vá para a guia Network Access e insira 0.0.0.0/0como Access List Entry para permitir o acesso de qualquer lugar.

imagem por autor
imagem por autor

Sim, super legal… É hora de conectar o banco de dados ao servidor. Então, vamos voltar ao nosso aplicativo novamente.

Como a primeira etapa cria um .envarquivo. Então precisamos obter acesso ao nosso banco de dados. Em seguida, clique em conectar -> Conecte seu aplicativo no cluster que criamos anteriormente.

imagem por autor

E copie o uri de conexão para a área de transferência.

imagem por autor

Aqui você deve substituir o administrador pela função de usuário que você já criou e a senha também deve ser substituída, o que corresponde à função do usuário.

MONGO_URL=mongodb+srv://admin:<password>@questionbank.xgxrf.mongodb.net/employee_db?retryWrites=true&w=majority

const mongoose=require('mongoose')

const dotenv = require("dotenv");

dotenv.config();

const URL = process.env.MONGO_URL

 module.exports=()=>{
    return mongoose.connect(URL)
 }

Portanto listen(), o método deve invocar e inserir o retorno de chamada bem-sucedido do método de banco de dados de conexão.

const dbConnection = require("./db.js");

dbConnection()
  .then(() => {
    console.log("DB is connected!!")
    app.listen(3000, () => console.log("Server is started on 3000"));
  })
  .catch((err) => console.log(err));

imagem por autor
imagem por autor

Oh não… Há um aviso… Vou tentar remover o aviso.

mongoose.set('strictQuery', false);só desabilita corretamente o comportamento de consulta estrito se você executá-lo antes que os esquemas sejam criados. Depois que os esquemas são criados, as alterações nessa propriedade são ignoradas. Em seguida, adicione esta linha de código ao db.jsarquivo.

mongoose.set("strictQuery", false);

Uau… Super legal… nós fizemos isso…

Pessoal, acho melhor dar um tempo. Eu virei com a Parte 03 em breve. Lá estamos para criar controladores, inserir dados no banco de dados e… muitas outras coisas….

Até lá tchau pra você…