Node.js 抛出新的MongooseError(';openUri()的`uri`参数必须是a';+;

Node.js 抛出新的MongooseError(';openUri()的`uri`参数必须是a';+;,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我找不到解决办法。请帮忙。。 MongooseError:openUri()的uri参数必须是字符串,且为“未定义”。确保mongoose.connect()或mongoose.createConnection()的第一个参数是字符串 if (process.env.NODE_ENV !== 'production') { require('dotenv').load() } const express = require('express') const app = express()

我找不到解决办法。请帮忙。。 MongooseError:
openUri()
uri
参数必须是字符串,且为“未定义”。确保
mongoose.connect()
mongoose.createConnection()
的第一个参数是字符串

if (process.env.NODE_ENV !== 'production') {
  require('dotenv').load()
}

const express = require('express')
const app = express()
const expressLayouts = require('express-ejs-layouts')
const bodyParser = require('body-parser')
const methodOverride = require('method-override')

const indexRouter = require('./routes/index')
const authorRouter = require('./routes/authors')
const bookRouter = require('./routes/books')

app.set('view engine', 'ejs')
app.set('views', __dirname + '/views')
app.set('layout', 'layouts/layout')
app.use(expressLayouts)
app.use(methodOverride('_method'))
app.use(express.static('public'))
app.use(bodyParser.urlencoded({ limit: '10mb', extended: false }))

const mongoose = require('mongoose')
mongoose.connect(process.env.DATABASE_URL, { useNewUrlParser: true })
const db = mongoose.connection
db.on('error', error => console.error(error))
db.once('open', () => console.log('Connected to Mongoose'))

app.use('/', indexRouter)
app.use('/authors', authorRouter)
app.use('/books', bookRouter)

app.listen(process.env.PORT || 3000)

在根项目上创建.env文件。然后在该文件下复制粘贴此行,即

DATABASE_URL="192.168.1.1:3000"
然后,主服务器上的文件可能是app.js或server.js或行前的某个thingelse.js文件,即
const mongoose=require('mongoose')
复制粘贴此行

require('dotenv').config();
然后是console.log(process.env.DATABASE\uURL)
//这将返回您的数据库URL


希望您理解这个概念。

process.env.DATABASE\u URL
正在返回
未定义的
,请检查您的环境变量是否存在
DATABASE\u URL
且值正确。您的环境变量尚未加载是否有
.env
文件?您的
节点\u env
环境变量是什么当前设置为?我解决了这个问题。这是
.env
文件问题。