首页 > 解决方案 > MongoDB Atlas - 如何修复共享网络托管上的“TransientTransactionError”

问题描述

TransientTransactionError尝试从共享网络主机连接到 Mongo Atlas 时

我实际上曾经有过这个工作,但我不得不在我的网络主机上从头开始擦除并重新启动我的项目。现在,在尝试连接到 Atlas 时,我似乎突然出现上述错误。我已经尝试在 Atlas 中将 IP 地址列入白名单,包括我的服务器 IP 和 0.0.0.0/0(“允许所有”通配符)。

我也尝试使用“完整驱动程序”片段而不是猫鼬,但仍然收到相同的错误。最后,我想指出完全相同的代码在我的本地机器上运行良好。

这是我的功能:

    const mongoose = require("mongoose");
    const config = require("./config");
    module.exports = cb => {
        if (mongoose.connection.readyState < 1) {
            mongoose.connect(config.db).then(
                () => {
                    console.log("Database linking successful!");
                    return cb ? cb : null;
                },
                err => {
                console.log("Failed to connect to database.", err);
                }
            );
        }
    };

错误消息如下所示:

{ MongoNetworkError: failed to connect to server [<mongodb-shard-goes-here>.mongodb.net:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 54.145.177.180:27017]
    at Pool.<anonymous> (/home/titanesp/public_html/server/node_modules/mongodb-core/lib/topologies/server.js:431:11)
    at Pool.emit (events.js:182:13)
    at connect (/home/titanesp/public_html/server/node_modules/mongodb-core/lib/connection/pool.js:557:14)
    at makeConnection (/home/titanesp/public_html/server/node_modules/mongodb-core/lib/connection/connect.js:39:11)
    at callback (/home/titanesp/public_html/server/node_modules/mongodb-core/lib/connection/connect.js:261:5)
    at TLSSocket.err (/home/titanesp/public_html/server/node_modules/mongodb-core/lib/connection/connect.js:286:7)
    at Object.onceWrapper (events.js:273:13)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

标签: node.jsshared-hostingmongodb-atlas

解决方案


推荐阅读