javascript - 如何在node.js中导出多个mongoose模型模块

标签 javascript node.js mongodb mongoose module

我有 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/

相关文章:

javascript - 使用 JQUERY 解析 XML - 排序到两个数组中

javascript - 动态内容转换器

node.js - Node js 字符串解析器

Mysql 返回不正确的 bigint 结果 1,非常奇怪的错误

database - Cloudant 查询错误 : missing search index when trying to sort

javascript - 在变量声明中使用条件

javascript - 如何修改粘贴事件的结果?

node.js - 从 Node http服务器下载大文件,服务器内存不足

mongodb - 提高 IXSCAN 的性能?

node.js - NodeJS 中具有 Promisified 函数的数据聚合