sql >> Databáze >  >> NoSQL >> MongoDB

Určení možností kurzoru při vracení streamu v Spring Data MongoDB?

K vaší chybě dochází, protože stream zpracováváte příliš pomalu, takže než se dostanete k další dávce, vyprší časový limit kurzoru.

Velikost dávky lze nastavit na Objekt Spring Data Query , nebo v úložišti pomocí @Meta anotace. Například:

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

Nebo při používání úložišť:

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

Viz Spring Data MongoDB dokumentace pro více podrobností.

Časový limit kurzoru lze také zakázat na základě dotazu pomocí stejné konfigurace. např. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

Časový limit kurzoru nelze změnit na základě dotazu. To je konfigurace serveru. Musíte použít kurzorTimeoutMillis parametr serveru pro změnu tohoto parametru na celém serveru.



  1. Jak nastavit rozsah posunu vyrovnávací paměti v MongoDB, neumožňuje nahrát více než 16 MB souboru v objektu BSON?

  2. Agregovat $lookup s C#

  3. MongoDB a ovladač Java:ignorujte malá a velká písmena v dotazu

  4. MongoDB vnořené dokumenty Java nejsou přístupné pomocí teček v názvu klíče