当我从Mongoose连接MongoDB到本地主机时,我不熟悉express和node,我得到一个错误,比如TypeError: connectDb is not a function?
src/模型/索引
const mongoose = require("mongoose");
const User = require("./user");
const Message = require("./message");
const connectDb = () =>
mongoose.connect(process.env.DATABASE_URL, { useNewUrlParser: true });
const models = { User, Message };
exports = { connectDb };
module.exports = models;
src/索引
// .... Some code here
const { connectDb } = require("./models");
// .... Some code here
connectDb()
.then(async () => {
app.listen(process.env.PORT);
})
.catch(error => console.error(error));
最佳答案
exports = { connectDb };
这句话不正确。它不导出
connectDb
函数。如果要使用
exports
关键字导出connectDb
函数,则必须按exports.connectDb = () => mongoose.connect(process.env.DATABASE_URL, { useNewUrlParser: true });
或者只是
exports.connectDb = connectDb;
如果要导出多个对象,可以向
exports
对象添加多个属性要导出模型,可以执行以下操作
exports.models = models;
现在这个文件将导出一个有两个属性的对象,
connectDb
和models
另一种出口多种产品的方法是
module.exports = {
connectDb,
models
};
这还将导出包含两个属性的对象,
connectDb
和models
关于node.js - TypeError:connectDb不是函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57833447/