Estoy tratando de conectar mi aplicación a MongoDB, pero aparece este error 'Error: no se pueden leer las propiedades de undefined (leyendo 'host')'. No es capaz de averiguar cuál podría ser el problema.
Aquí está el archivo .env
PORT=5000; MONGO_URI ='mongodb+srv://sakshi_0630:<password>@cluster0.lxchu.mongodb.net/?retryWrites=true&w=majority'archivo db.js
const mongoose = require("mongoose"); const colors = require("colors"); const connectDB=async()=>{ try { const conn = mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: true, }); console.log(`MongoDB Connected: ${conn.connection.host}`.cyan.underline); } catch (error) { console.log(`Error: ${error.message}`.red.bold); process.exit(); } }; module.exports= connectDB;servidor.js
const { response } = require("express"); const express = require("express"); const dotenv = require("dotenv"); const { chats } = require("./data/data"); const connectDB = require("./config/db"); dotenv.config(); connectDB(); const app = express();Debe await la función mongoose.connect()
const connectDB = async() => { try { const conn = await mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: true, }); console.log(`MongoDB Connected: ${conn.connection.host}`.cyan.underline); } catch (error) { console.log(`Error: ${error.message}`.red.bold); process.exit(); } };o usar una función de devolución de llamada
mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: true, }) .then((conn) => { console.log(`MongoDB Connected: ${conn.connection.host}`.cyan.underline); //do other things }) .catch((error) => { console.log(`Error: ${error.message}`.red.bold); process.exit(); });