【发布时间】:2020-05-12 04:04:00
【问题描述】:
我正在尝试让 mongoDB 与 phpMyAdmin 数据库一起工作,但我收到一条错误消息,提示我无法锻炼。
我将是一个新手程序员,所以这可能是我在某处犯过的一个非常基本的错误。据我所知,我已经安装了所有正确的依赖项,并且当我在控制台上运行 nodemon 服务器时出现了所描述的错误。
const express = require("express")
const cors = require("cors")
const bodyParser = require("body-parser")
const app = express()
const mongoose = require('mongoose');
require('dotenv').config();
//server for the SQL database
const port = process.env.PORT || 5000
app.use(bodyParser.json())
app.use(cors())
app.use(bodyParser.urlencoded({extended: false}))
var Users = require('./routes/user.routes')
app.use('/users', Users)
app.listen(port, () => {
console.log("Server is running on port: " + port)
})
// server for MongoDB database
app.use(cors());
app.use(express.json());
const uri = process.env.ATLAS_URI;
//console.log(uri)
mongoose.createConnection(uri, { useNewUrlParser: true, useCreateIndex: true }
);
const connection = mongoose.createConnection();
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
const formsRouter = require('./routes/formDatabase.routes');
const adviceRouter = require('./routes/studentAdvice.routes');
app.use('/formDatabase.routes', formsRouter);
app.use('/studentAdvice.routes', adviceRouter);
app.listen(port, () => {
console.log(`Server is running on port: ${port}`);
});
[nodemon] 由于更改而重新启动...
[nodemon] 开始node server backend/server/server.js
(节点:25800) MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。 [Bus] 添加了 11 个退出侦听器。使用emitter.setMaxListeners() 增加限制
\softwaredevproject\cra-beacon\node_modules\mongoose\lib\connection.js:543
throw new MongooseError('openUri() 的uri 参数必须是' +
^
错误 [MongooseError]:openUri() 的 uri 参数必须是字符串,得到“未定义”。确保mongoose.connect() 或mongoose.createConnection(
) 的第一个参数是字符串。
在新的 MongooseError (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\error\mongooseError.js:10:11)
在 NativeConnection.Connection.openUri (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\connection.js:543:11)
在 Mongoose.createConnection (\softwaredevproject\cra-beacon\node_modules\mongoose\lib\index.js:278:17)
在对象。 (***\softwaredevproject\cra-beacon\backend\server\server.js:33:10)
在 Module._compile (internal/modules/cjs/loader.js:971:30)
在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1011:10)
在 Module.load (internal/modules/cjs/loader.js:822:32)
在 Function.Module._load (internal/modules/cjs/loader.js:730:14)
在 Function.Module.runMain (internal/modules/cjs/loader.js:1051:12)
在内部/main/run_main_module.js:16:11 {
消息:'openUri() 的 uri 参数必须是字符串,得到“未定义”。确保mongoose.connect() 或mongoose.createConnection() 的第一个参数是str
',
名称:'MongooseError'
}
[nodemon] 应用程序崩溃 - 启动前等待文件更改...
【问题讨论】:
标签: node.js mongodb mongoose nodemon