sql >> Databasteknik >  >> NoSQL >> MongoDB

Ange marköralternativ när du returnerar en ström i Spring Data MongoDB?

Ditt fel uppstår eftersom du bearbetar strömmen för långsamt, så markören tar slut innan du kommer till nästa batch.

Batchstorlek kan ställas in på Spring Data Query-objekt , eller på ett arkiv med @Meta anteckning. Till exempel:

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

Eller när du använder förråd:

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

Se Spring Data MongoDB-dokumentation för mer information.

Markörens timeout kan också inaktiveras för varje fråga med samma konfiguration. t.ex. @Meta(flags = {CursorOption.NO_TIMEOUT}) .

Markörens timeout kan inte ändras per fråga. Det är en serverkonfiguration. Du måste använda cursorTimeoutMillis serverparameter för att ändra den server-omfattande.



  1. Mongo Ger 'duplicerat nyckelfel' på icke-unika fält

  2. Mongodb aggregat på underdokument i array

  3. MongoDB $indexOfBytes

  4. MongoDB och CodeIgniter