आप इन 3 चीजों को आजमा सकते हैं:
db.collection.find().noCursorTimeout();
आपको किसी बिंदु पर कर्सर को कर्सर से बंद करना होगा। बंद करें ();
db.inventory.find().batchSize(10);
c) कर्सर के समाप्त होने पर पुनः प्रयास करें:
let processed = 0;
let updated = 0;
while(true) {
const cursor = db.snapshots.find().sort({ _id: 1 }).skip(processed);
try {
while (cursor.hasNext()) {
const doc = cursor.next();
++processed;
if (doc.stream && doc.roundedDate && !doc.sid) {
db.snapshots.update({
_id: doc._id
}, { $set: {
sid: `${ doc.stream.valueOf() }-${ doc.roundedDate }`
}});
++updated;
}
}
break; // Done processing all, exit outer loop
} catch (err) {
if (err.code !== 43) {
// Something else than a timeout went wrong. Abort loop.
throw err;
}
}
}