#node.js #mongodb #client
#node.js #mongodb #клиент
Вопрос:
Я использую MongoClient в nodejs для вставки массовых записей в базу данных. Я использую async.eachOfLimit
для этого пакеты.
let cursor2 = await consultation_collection
.find({ processed: { $exists: false } })
.limit(limit)
.toArray();
await eachOfLimit(cursor2, 2, insertData);
Однако после вставки около 50-60 записей я постоянно получаю эту ошибку-
MongoServerSelectionError: connection <monitor> to 34.93.94.239:27017 closed
at Timeout._onTimeout (C:UsersSantosh ChiragDownloadsmigrate-testnode_modulesmongodblibcoresdamtopology.js:438:30)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7) {
reason: TopologyDescription {
type: 'ReplicaSetNoPrimary',
setName: 'atlas-bagddj-shard-0',
maxSetVersion: null,
maxElectionId: null,
servers: Map(3) {
'medv5-dev-shard-00-00.to7mj.gcp.mongodb.net:27017' => [ServerDescription],
'medv5-dev-shard-00-01.to7mj.gcp.mongodb.net:27017' => [ServerDescription],
'medv5-dev-shard-00-02.to7mj.gcp.mongodb.net:27017' => [ServerDescription]
},
stale: false,
compatible: true,
compatibilityError: null,
logicalSessionTimeoutMinutes: 30,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
commonWireVersion: 9
}
}
Код работает нормально, если я нажимаю enter
, затем он вставляет еще 10-15 записей, и эта ошибка повторяется непрерывно.
Что это за ошибка и как заставить Mongo
оставаться на связи, пока не будут вставлены все записи