我有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');
答案 0 :(得分:1)
这应该有效:
在一个文件中导出
module.exports = { Db, Beacon };
然后,导入在另一个文件中
const { Db, Beacon } = require('path-to-db.js');
// use them
Db.doSomething();
Beacon.doSomethingElse();
请注意,这使用了ECMAS 6 Destructuring Assignment(MDN的附加信息)