我在 Node.js 应用程序中尝试使用 Mongoose 连接到 MongoDB 时遇到了
TypeError
。在connectDB()
中调用server.js
时出现错误。这是命令提示符中的错误消息:
TypeError: connectDB is not a function
at Object.<anonymous> (C:\Users\rodri\flutter_auth\server.js:9:1)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47
以下是我的代码的相关部分:
服务器.js
const express = require('express');
const morgan = require('morgan');
const cors = require('cors');
const connectDB = require('./config/db');
const passport = require('passport');
const bodyParser = require('body-parser');
connectDB();
const app = express();
if (process.env.NODE_ENV === 'development') {
app.use(morgan('dev'));
}
const PORT = process.env.PORT || 3000;
app.listen(PORT, console.log(`Server running in ${process.env.NODE_ENV} mode on port ${PORT}`));
db.js
const mongoose = require('mongoose');
const dbConfig = require('./dbconfig');
const connectDB = async () => {
try {
const conn = await mongoose.connect(dbConfig.database, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false
});
console.log(`MongoDB Connected: ${conn.connection.host}`);
} catch (err) {
console.log(err);
process.exit(1);
}
};
module.export = connectDB;
请更改这段代码,它应该可以正常工作
module.exports = connectDB;