MONGOuri уже является строкой, но выдает ошибку как MongooseError: параметр `uri` для `OpenURI()` должен быть строкой, получил «неопределенный»

#node.js #string #mongodb #mongoose

Вопрос:

У меня есть keys.js в папке конфигурации и вместо файлов .env я использую его в качестве хранилища учетных данных imp. Я не сохранил здесь свой пароль
MongooseError: uri Параметр openUri() , который должен быть строкой, получил «неопределенный». Убедитесь, что первым параметром mongoose.connect() или mongoose.createConnection() является строка.

ss console.log(тип(ключи.монгоУРИ)); ss console.log(тип(ключи.монгоУРИ))

config/keys.js файл

 const mongoURI = "mongodb srv://MERN_dev:lt;passwordgt;@cluster0.jl831.mongodb.net/ED_MERN?retryWrites=trueamp;w=majority"  module.exports = {  mongoURI,  other parameters }  

Теперь в моем data/mongodb.js файл

 const mongoose = require('mongoose'); const keys = require('../config/keys'); //console.log(typeof(keys)); console.log(typeof(keys.mongoURI)); const connectDB = async () =gt; {  try {  const conn = await mongoose.connect(keys.MONGO_URI, {  useUnifiedTopology: true,  useNewUrlParser: true   })   console.log(`Mongoose connected on port ${conn.connection.host}`);  }  catch (err) {  console.log(err);  process.exit(1);  } }  module.exports = connectDB;  

Наконец-то мой index.js файл

 const express = require('express'); const connectDB = require('./data/mongodb');  connectDB();  const PORT = process.env.PORT || 5000; const app = express();  app.listen(PORT, () =gt; {  console.log(`Server started at ${PORT}!`); });  

Ответ №1:

Извините, это просто опечатка вместо клавиш.МОНГО_УРИ, это ключи.монгоУРИ

Комментарии:

1. Пожалуйста, отредактируйте свой вопрос напрямую, чтобы другие могли помочь вам лучше. Как только это будет сделано, вы, возможно, захотите удалить этот ответ.