MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB CursorNotFound कुछ सौ छोटे रिकॉर्ड के लिए संग्रह.खोज () पर त्रुटि

आप इन 3 चीजों को आजमा सकते हैं:

a) सेट करें कर्सर को झूठा

db.collection.find().noCursorTimeout();

आपको किसी बिंदु पर कर्सर को कर्सर से बंद करना होगा। बंद करें ();

b) या बैच का आकार कम करें

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;
        }
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. LINQ लैम्ब्डा अभिव्यक्ति में स्ट्रिंग चर का प्रयोग करें

  2. MongoDB के साथ पहले और अंतिम नाम दोनों से उपयोगकर्ताओं की खोज कैसे करें?

  3. मोंगोडब में क्वेरी कैसे शामिल करें?

  4. मोंगोडीबी $currentDate

  5. सी # मोंगोडीबी चालक:मोंगोडीबी में किसी भी फ़िल्टर के लिए जटिल क्वेरी चलाने का तरीका नहीं मिल रहा है