繁体   English   中英

在 Node.js 中连接到 mongoDB 时出错,“mongoose.connect() 的第一个参数是一个字符串。”

[英]error while connecting to mongoDB in Node.js, 'first parameter to mongoose.connect() is a string.'

运行 app.js 时出现如下错误

message: ' openUri()uri参数必须是一个字符串,得到“未定义”。 确保mongoose.connect()mongoose.createConnection()的第一个参数是一个字符串。',

名称:'猫鼬错误'

app.js 文件如下-

const express = require('express');
const path = require('path')
const dotenv = require('dotenv');
const  mongoose = require('mongoose');

const employeeRoutes = require('./routes/employee');
const app = express();

dotenv.config({path:'./config.env'});  //Setting configuration file

app.set('views',path.join(__dirname,'views')); //setting views folder
app.set('view engine','ejs');  //setting view engine as ejs
app.use(express.static('public')); //setting static folder

mongoose.connect(process.env.DATABSE_LOCAL.toString(),{      
useNewUrlParser : true,
useUnifiedTopology : true,
useCreateIndex : true 
});


const port = process.env.PORT;
app.listen(port,(port)=>{
 console.info("server started at 127.0.0.1:"+port);
});

这是我的 config.env

PORT = 3000
DATABASE_LOCAL = mongodb://localhost:27017/employees

我明白你在做什么; 但是您无需担心使用 toString() 方法只需像这样保留它:

mongoose.connect(process.env.DATABASE_LOCAL)

它对你不起作用的唯一原因是因为你有一个小错字

mongoose.connect(process.env.DATABSE_LOCAL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM