sql >> Database teknologi >  >> NoSQL >> MongoDB

Angivelse af markørindstillinger, når du returnerer en stream i Spring Data MongoDB?

Din fejl opstår, fordi du behandler streamen for langsomt, så markøren udløber, før du kommer til næste batch.

Batchstørrelse kan indstilles på Spring Data Query-objekt , eller på et lager ved hjælp af @Meta anmærkning. For eksempel:

Query query = query(where("firstname").is("luke"))
    .batchSize(100);

Eller når du bruger repositories:

@Meta(batchSize = 100)
List<Person> findByFirstname(String firstname);

Se Spring Data MongoDB-dokumentation for flere detaljer.

Markørens timeout kan også deaktiveres for hver forespørgsel ved brug af den samme konfiguration. for eksempel. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

Markørens timeout kan ikke ændres pr. forespørgsel. Det er en serverkonfiguration. Du skal bruge cursorTimeoutMillis serverparameter for at ændre den server-dækkende.



  1. Hvad er alle mongoose-begivenhederne, og hvor er de dokumenteret?

  2. db.collection.count() returnerer mange flere dokumenter til opdelt indsamling i MongoDB

  3. Forårsdata mongodb lukker ikke mongodb-forbindelser

  4. hvordan indstiller jeg logningsniveauet til info for MongoDb?