【发布时间】:2021-04-01 10:45:17
【问题描述】:
我正在尝试使用 express 创建一个 rest api 并连接到 mongodb,我创建了一个脚本来完成这项工作并将其导入 app.js 文件中:
app.js
import express from 'express'
import morgan from 'morgan'
import dotenv from 'dotenv'
import mongoose from './config/mongoose.connection.js'
import logger from './config/logger.js'
import { port, env } from './config/vars.js'
const app = express();
app.use(express.urlencoded({
extended: true
}));
app.use(dotenv.config)
// start server
app.listen(port, () => {
logger.info(`server started on port ${port} (${env})`)
console.log('Server listening on port ' + port);
});
// open mongoose connection
mongoose.connectDB();
mongoose.connection.js
import { Promise as _Promise, connection, set, connect } from 'mongoose';
import { error } from './logger.js';
import { mongo, env } from './vars.js';
// set mongoose Promise to Bluebird
_Promise = Promise;
// Exit application on error
connection.on('error', (err) => {
error(`MongoDB connection error: ${err}`);
process.exit(-1);
});
// print mongoose logs in dev env
if (env === 'development') {
set('debug', true);
}
/**
* Connect to mongo db
*
* @returns {object} Mongoose connection
* @public
*/
export function connect() {
connect(mongo.uri, {
useCreateIndex: true,
keepAlive: 1,
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
})
.then(() => console.log('mongoDB connected...'));
return connection;
}
运行应用程序时出现此错误:
file:///home/sahnoun/Documents/Fwinr-BACKEND/src/config/mongoose.connection.js:25 导出函数连接(){ ^
SyntaxError: 标识符 'connect' 已被声明
【问题讨论】:
标签: node.js mongodb api express connection