MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Итериране на голяма колекция в MongoDB чрез spring-data

Късен отговор, но може би ще помогне на някого в бъдеще. Spring данните не предоставят API за обвиване на Mongo DB Cursor възможности. Използва го в find методи, но винаги връща завършен списък с обекти. Опциите са да се използва директно API на Mongo или да се използва API на Spring Data Paging , нещо подобно:

        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 (!) Този метод не е достатъчен за големи набори от данни (вижте коментарите на @Shawn Bush) Моля, използвайте директно API на Mongo за такива случаи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB:Показване на MinuteBucket в стойността Time като крайно време за интервала

  2. Получаване на произволни записи и показване в определен формат с помощта на PHP и MongoDB

  3. Групиране по стойности и условия

  4. Как да разрешите грешка:dbpath (/data/db/) не съществува постоянно в MongoDB

  5. Сумира всички стойности на едноименни полета на документи в колекция