sql >> Database >  >> NoSQL >> MongoDB

Cursoropties specificeren bij het retourneren van een stream in Spring Data MongoDB?

Je fout treedt op omdat je de stream te langzaam verwerkt, waardoor de cursor een time-out heeft voordat je naar de volgende batch gaat.

Batchgrootte kan worden ingesteld op de Spring Data Query-object , of op een repository met behulp van de @Meta annotatie. Bijvoorbeeld:

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

Of bij gebruik van repositories:

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

Zie Spring Data MongoDB-documentatie voor meer details.

De cursortime-out kan ook per zoekopdracht worden uitgeschakeld met dezelfde configuratie. bijv. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

De time-out van de cursor kan niet per query worden gewijzigd. Dat is een serverconfiguratie. U moet de cursorTimeoutMillis gebruiken serverparameter om die serverbreed te wijzigen.



  1. Kan module '../build/Release/bson'] niet vinden code:'MODULE_NOT_FOUND' } js-bson:kan c++ bson-extensie niet laden, met pure JS-versie

  2. hoe mongo te verbinden met elasticsearch met behulp van logstash?

  3. MongoDB-query converteren naar Java

  4. Wat is de juiste manier om een ​​mongodb-replicaset in te stellen met behulp van docker en fig?