我有 2 个这样的模型
const Db = mongoose.model('db', dbSchema);
const Beacon = mongoose.model('beacon', dbSchema2);
现在我想导出它们。首先我导出 Db,一切都很好。我可以用它发出 HTTP 请求。
module.exports = Db;
但是,当我尝试将第二个导出到外部时,它停止运行。下面的函数将返回一个空白 JSON 文件作为响应。
module.exports = Db;
module.exports = Beacon;
这也行不通。它返回一个错误处理程序,指出处理程序中的所有函数都不是函数。
module.exports = {
Db, Beacon
}
这是我导入模型的文件上的函数。
router.get('/data/:id', function(req, res, next) {
Db.findOne({ _id: req.params.id }).then(function(db) {
res.send(db);
});
}
处理程序的返回结果是Db.findOne 不是一个函数。
有什么办法可以将它们都导出吗?谢谢。 这是导入另一个文件
const Db = require('./db.js');
const Beacon = require('.db.js');
最佳答案
这应该有效:
导出到一个文件中
module.exports = { Db, Beacon };
然后,导入到另一个文件中
const { Db, Beacon } = require('path-to-db.js');
// use them
Db.doSomething();
Beacon.doSomethingElse();
请注意,这使用 ECMAS 6 Destructuring Assignment (有关 MDN 的附加信息)
关于javascript - 如何在node.js中导出多个mongoose模型模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56629751/