MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Iteruj po dużym zbiorze w MongoDB za pośrednictwem danych wiosennych

Spóźniona odpowiedź, ale może w przyszłości komuś pomoże. Dane Spring nie zapewniają żadnego interfejsu API do pakowania Kursora Mongo DB możliwości. Używa go w find metod, ale zawsze zwraca kompletną listę obiektów. Opcje to bezpośrednie użycie Mongo API lub użycie Spring Data Paging API , coś takiego:

        final int pageLimit = 300;
        int pageNumber = 0;
        Page<T> page = repository.findAll(new PageRequest(pageNumber, pageLimit));
        while (page.hasNextPage()) {
            processPageContent(page.getContent());
            page = repository.findAll(new PageRequest(++pageNumber, pageLimit));
        }
        // process last page
        processPageContent(page.getContent());

UPD (!) Ta metoda jest niewystarczająca w przypadku dużych zestawów danych (patrz komentarze @Shawn Bush) W takich przypadkach używaj bezpośrednio Mongo API.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdź punkty w pobliżu LineString w mongodb posortowane według odległości

  2. Zaktualizuj wiele dokumentów w kolekcji za pomocą zmiany przypadku

  3. Znajdowanie pierwszych N wpisów z tablicy

  4. Uzyskiwanie listy unikalnych obiektów osadzonych/zagnieżdżonych w dokumencie MongoDB

  5. Wstaw wartości domyślne nie działają mongodb