sql >> Database >  >> NoSQL >> MongoDB

Cursor.nextObject van Mongo geeft soms ten onrechte nul terug?

Ik weet nog steeds niet zeker wat de pauze veroorzaakt, maar het lijkt erop dat dit de boosdoener is.

Tijdens de pauze, Cursor.nextObject wordt meerdere keren gebeld voordat de eerste terugkeert. Sommige van deze oproepen retourneren null . De oplossing is om ervoor te zorgen dat Cursor.nextObject wordt nooit gelijktijdig aangeroepen.

if (this.cursor && !this.cursor_exec && this.length() < this.concurrency) {
    this.cursor_exec = true;
    this.cursor.nextObject(function(err, item) {
        console.log(this.name + ': ' + (item ? item._id : null) + ' ' + (err ? err : null));
        this.cursor_exec = false;
        if (item) {
            this.push(item);
        } else {
            delete this.cursor;
        }
    }.bind(this));
}



  1. Filter arrays in mongodb

  2. Gebruik resultaat van mongodb in shellscript

  3. C# MongoDB - Trek een item uit de array van een genest document op basis van een ID

  4. Spring Data Mongo - Querymethoden en onderscheiden veld