首页 > 解决方案 > 无法创建多个 mongo 连接

问题描述

我正在按照教程制作身份验证 API,它说我应该在每个请求上连接到数据库以插入我的数据,它非常像这样。

这只是代码中的一个片段。

exports.login = function (req, res) {
    const { email, password } = req.body;
mongoose.connect(connUri, { useNewUrlParser: true  }, (err) => {
        let result = {};
        if (!err) {
            User.findOne({email}, (err, user) => {
                if (!err && user) {
    // the rest of function here

然后我在另一个功能上也有同样的事情。

exports.add = (req, res) => {
    console.log(connUri);
    mongoose.connect(connUri, { useNewUrlParser: true  }, (err) => {
        let result = {};
        if (!err) {
            const email = req.body.email;
                      // the rest here

但是现在每当我提出请求时,我都会收到一条错误消息,提示您在连接时不能mongoose.connect()多次。在谷歌搜索了一下之后,我理解了这个问题,我的情况的最佳解决方案是使一个全局mongoose.connect()- 但是我将无法设置err已经在这些函数检查中的回调。

有没有办法在保持当前代码结构不变的同时做到这一点?

标签: node.jsmongodb

解决方案


推荐阅读