sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Especificando las opciones del cursor al devolver un Stream en Spring Data MongoDB?

Su error ocurre porque está procesando la transmisión demasiado lentamente, por lo que el cursor se agota antes de llegar al siguiente lote.

El tamaño del lote se puede configurar en Objeto de consulta de datos de Spring , o en un Repositorio usando @Meta anotación. Por ejemplo:

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

O al usar repositorios:

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

Consulte Documentación de Spring Data MongoDB para más detalles.

El tiempo de espera del cursor también se puede deshabilitar por consulta usando la misma configuración. p.ej. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

El tiempo de espera del cursor no se puede cambiar por consulta. Esa es una configuración de servidor. Debe usar el cursorTimeoutMillis parámetro del servidor para cambiar eso en todo el servidor.