1

我正在尝试插入一堆对象(其中大约 14000 个),但我总是最终得到超时错误。

我开始像这样设置我的计时器:

  Mongo.setConnectionOptions({
    mongos: {
      socketOptions: {
        keepAlive: 1800000,
        connectTimeoutMS: 1800000,
        socketTimeoutMS: 1800000,
      },
    },
  });

然后我创建批量操作:

console.log(Mongo._connectionOptions.mongos.socketOptions);

  const bulk = IntegrityTest.rawCollection().initializeUnorderedBulkOp();
  const session = IntegrityTest.insert({
    // fields...
  });

  checkResult.flagged.forEach(function (item) {
    bulk.find({ _id: session }).update({
      $addToSet: {
        // fields...
      }
    });
  });

  bulk.find({ _id: session }).update({ $set: { finishedAt: new Date() } });
  bulk.execute({ w: "majority", wtimeout: 1800000 });

上面的日志打印了最初设置的内容:

{ keepAlive:1800000,
connectTimeoutMS:1800000,
socketTimeoutMS:1800000 }

5分钟后仍然总是抛出超时错误:

C:\Users\gatsu\AppData\Local.meteor\packages\meteor-tool\1.4.2_6\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:313 throw(ex) ;

MongoError:连接 0 到 127.0.0.1:3003 超时

在 Object.Future.wait (C:\Users\gatsu\AppData\Local.meteor\packages\meteor-tool\1.4.2_6\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future. js:449:15) 在 [object Object]._.extend._nextObject (packages/mongo/mongo_driver.js:1024:47) 在 [object Object]._.extend.forEach (packages/mongo/mongo_driver.js: 1058:22) 在 [object Object]._.extend.map (packages/mongo/mongo_driver.js:1068:10) 在 [object Object]._.extend.fetch (packages/mongo/mongo_driver.js:1092: 17) 在 [object Object].Cursor.(anonymous function) [as fetch] (packages/mongo/mongo_driver.js:907:44) at [object Object].MongoConnection.findOne (packages/mongo/mongo_driver.js:814 :56) 在对象处。(packages\matb33_collection-hooks.js:658:16) 在 Object.collection.(匿名函数) [as findOne] (packages\matb33_collection-hooks.js:137:21) 在 [object Object]._。

在 Function.MongoError.create (C:\Users\gatsu\AppData\Local.meteor\packages\npm-mongo\2.2.16_1\npm\node_modules\mongodb-core\lib\error.js:29:11) 在 Socket . (C:\Users\gatsu\AppData\Local.meteor\packages\npm-mongo\2.2.16_1\npm\node_modules\mongodb-core\lib\connection\connection.js:184:20)在 Socket.g(事件.js:260:16) 在 emitNone (events.js:67:13) 在 Socket.emit (events.js:166:7) 在 Socket._onTimeout (net.js:333:8) 在 _runOnTimeout (timers.js :537:11) 在 _makeTimerTimeout (timers.js:528:3) 在 Timer.unrefTimeout (timers.js:597:5)

4

0 回答 0