【问题标题】:MongoNetworkError: connection 4 to localhost:27017 timed outMongoNetworkError:连接 4 到 localhost:27017 超时
【发布时间】:2019-04-15 14:30:22
【问题描述】:

当我在本地机器上部署应用程序时,我的服务器出现连接超时错误,一切都按预期工作,但只有少数更大的数据库查询出现此错误:

{ result:
   { result:
      { MongoNetworkError: connection 4 to localhost:27017 timed out
          at Socket.<anonymous> (/caching/node_modules/mongodb-core/lib/connection/connection.js:259:7)
          at Object.onceWrapper (events.js:277:13)
          at Socket.emit (events.js:189:13)
          at Socket._onTimeout (net.js:443:8)
          at ontimeout (timers.js:436:11)
          at tryOnTimeout (timers.js:300:5)
          at listOnTimeout (timers.js:263:5)
          at Timer.processTimers (timers.js:223:10)
        name: 'MongoNetworkError',
        errorLabels: [Array],
        [Symbol(mongoErrorContextSymbol)]: {} } } }

【问题讨论】:

标签: node.js mongodb


【解决方案1】:

问题是您的查询需要很长时间才能处理。并且 mongodb 配置了默认超时。如果查询花费的时间超过此默认值,则会失败。根据您的需要将所需的超时传递给连接参数。

const mongoose = require('mongoose');
const option = {
    socketTimeoutMS: 30000,
    keepAlive: true,
    reconnectTries: 30000
};

mongoose.connect(mongoURI, option);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-14
    • 2017-05-14
    • 1970-01-01
    • 2018-10-04
    • 2021-02-16
    • 2019-09-11
    • 1970-01-01
    • 2022-12-10
    相关资源
    最近更新 更多