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

Specificare le opzioni del cursore quando si restituisce uno Stream in Spring Data MongoDB?

Il tuo errore si è verificato perché stai elaborando lo stream troppo lentamente, quindi il tempo del cursore è scaduto prima di passare al batch successivo.

La dimensione del batch può essere impostata su Oggetto Spring Data Query o su un Repository utilizzando @Meta annotazione. Ad esempio:

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

O quando si utilizzano i repository:

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

Vedi Documentazione Spring Data MongoDB per maggiori dettagli.

Il timeout del cursore può anche essere disabilitato in base alla query utilizzando la stessa configurazione. per esempio. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

Il timeout del cursore non può essere modificato in base alla query. Questa è una configurazione del server. È necessario utilizzare cursorTimeoutMillis parametro server per modificare quel server a livello di server.