Operaciones CRUD de Node.js API + MongoDB | parte 02

Jan 08 2023
Esta es la Parte 02 de la serie de Node.js API + MongoDB CRUD Operations.

Esta es la Parte 02 de la serie de Node.js API + MongoDB CRUD Operations. Si no leíste la Parte 01, no llegas tarde aquí está el enlace, y le dedicaste unos 4 minutos. [ Enlace a la Parte 01 ].

Ahora ha iniciado el proyecto de nodo. Luego ejecútelo en una terminal integrada usando npm start. Ahora, el momento es hacer otras importaciones y configuraciones para conectar la base de datos a nuestra aplicación.

Por lo tanto, tenemos que importar el paquete body-parser al index.jsarchivo (servidor). Este paquete se usa para convertir el cuerpo de la solicitud en un formato dado, luego estará dentro del middleware. Podemos configurar el middleware usando el use()método. Luego, cualquiera que sea la solicitud que llegue a la aplicación, el cuerpo se convertirá en un 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"));

Aquí, usamos MongoDB en línea. Puede ir a MongoDB: la plataforma de datos para desarrolladores | MongoDB . Si tiene un servidor en línea, puede iniciar sesión en él.

No se preocupe si no ha creado un servidor MongoDB.

Simplemente haga clic en registrarse y complete el foro que proporcionan y regístrese con una cuenta de Google.

imagen por autor

Después de eso, debe aceptar los términos y políticas que se detallan a continuación y debe dar respuestas al foro que viene a continuación.

imagen por autor
imagen por autor
imagen por autor

Cree su servidor con la configuración predeterminada que le han proporcionado. Haga clic en crear el clúster.

Vaya a la base de datos y podrá ver el clúster predeterminado como Clustor0. Luego, haga clic en clúster y vaya a la pestaña de recopilación donde almacenamos los datos de nuestra aplicación.

imagen por autor

Es hora de hacer las configuraciones iniciales. Necesitamos al menos un usuario para conectarse con la base de datos. Para eso, vaya a la pestaña Acceso a la base de datos y Agregar nuevo usuario de la base de datos.

imagen por autor

Para agregar un nuevo usuario, obtendrá una pestaña como la siguiente.

imagen por autor

Luego tenemos que configurar el acceso a la red. Vaya a la pestaña Acceso a la red e insértelo 0.0.0.0/0como Entrada de la lista de acceso para permitir el acceso desde cualquier lugar.

imagen por autor
imagen por autor

Sí, súper genial... Es hora de conectar la base de datos con el servidor. Entonces, volveremos a nuestra aplicación nuevamente.

Como primer paso crea un .envarchivo. Entonces necesitamos obtener acceso a nuestra base de datos. Luego haga clic en conectar -> Conecte su aplicación en el clúster que creamos anteriormente.

imagen por autor

Y copie la uri de conexión a su portapapeles.

imagen por autor

Aquí debe reemplazar el administrador con el rol de usuario que ya ha creado y también debe reemplazar la contraseña que corresponde al rol de usuario.

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)
 }

Por lo tanto listen(), el método debe invocarse e insertar la devolución de llamada exitosa del método DB de conexión.

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));

imagen por autor
imagen por autor

Oh no... Hay una advertencia... Intentaré eliminar la advertencia.

mongoose.set('strictQuery', false);solo deshabilita correctamente el comportamiento de consulta estricto si lo ejecuta antes de que se creen los esquemas. Una vez que se crean los esquemas, se ignoran los cambios en esta propiedad. Luego agregue esta línea de código al db.jsarchivo.

mongoose.set("strictQuery", false);

Guau... Súper genial... lo hemos logrado...

Chicos, creo que sería mejor tomar un descanso. Vendré con la Parte 03 pronto. Ahí estamos para crear controladores, insertar datos a la BD, y… muchas cosas más….

Hasta entonces, adiós para ti...