Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoError:到群集的连接4已关闭_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js MongoError:到群集的连接4已关闭

Node.js MongoError:到群集的连接4已关闭,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我使用Mongoose驱动程序在NodeJS中有一个函数,如下所示: 伪代码: 在步骤3,我得到以下错误: MongoError: connection 4 to cluster closed at Function.MongoError.create (/home/some-user/my-repo/node_modules/mongodb-core/lib/error.js:29:11) at TLSSocket.<anonymous> (/home/some-user/my-r

我使用Mongoose驱动程序在NodeJS中有一个函数,如下所示:

伪代码:

在步骤3,我得到以下错误:

MongoError: connection 4 to cluster closed
at Function.MongoError.create (/home/some-user/my-repo/node_modules/mongodb-core/lib/error.js:29:11)
at TLSSocket.<anonymous> (/home/some-user/my-repo/node_modules/mongodb-core/lib/connection/connection.js:202:22)
at Object.onceWrapper (events.js:293:19)
at emitOne (events.js:101:20)
at TLSSocket.emit (events.js:191:7)
at _handle.close (net.js:513:12)
at Socket.done (_tls_wrap.js:332:7)
at Object.onceWrapper (events.js:293:19)
at emitOne (events.js:101:20)
at Socket.emit (events.js:191:7)
at TCP._handle.close [as _onclose] (net.js:513:12)

我不明白为什么在第3步会出现这个错误。有人能帮我解决这个问题吗?

经过几个小时的调试,终于解决了这个问题。从第2步开始,我的第3步mongoose查询中的文档太多,大约有数百万个。mongoose的错误没有给出连接关闭的原因。像文档太多或查询太大这样的消息会大大节省时间

MongoError: connection 4 to cluster closed
at Function.MongoError.create (/home/some-user/my-repo/node_modules/mongodb-core/lib/error.js:29:11)
at TLSSocket.<anonymous> (/home/some-user/my-repo/node_modules/mongodb-core/lib/connection/connection.js:202:22)
at Object.onceWrapper (events.js:293:19)
at emitOne (events.js:101:20)
at TLSSocket.emit (events.js:191:7)
at _handle.close (net.js:513:12)
at Socket.done (_tls_wrap.js:332:7)
at Object.onceWrapper (events.js:293:19)
at emitOne (events.js:101:20)
at Socket.emit (events.js:191:7)
at TCP._handle.close [as _onclose] (net.js:513:12)
mongoose.connect(connStr, {
    server: {
        socketOptions: {
            keepAlive: 300000,
            connectTimeoutMS: 300000,
            socketTimeoutMS: 300000,
            auto_reconnect: true
        }
    }
});