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

Spring MongoItemReader не чете всички записи при еднократно изпълнение

Предполагам, че вероятно актуализирате колекцията, от която четете, и също така актуализирате поле, което използва заявката. Ако е така, наскоро имах същия проблем.

MongoItemReader е четец на страници. Така че всеки път, когато писателят актуализира тези записи, читателят има по-малък набор, но страницата все още се увеличава.

Представете си, че имаме 20 елемента и четем по 5 наведнъж:

1) Чете елементи 1-5 от общо 20.

2) Актуализира елементи 1-5 и сега има общо 15 възможни елемента

3) Чете елементи 6-10 от общо 15.

4) Актуализира елементи 6-10 и сега има общо 10 възможни елемента.

5) Чете елементи 11-15 от 10 възможни елемента

6) Read връща null, защото няма нищо върнато за тази страница.

Така че сега сте обработили само половината.

Следвах урока по-долу, за да създам MongoDbCursorItemReader, който реши този проблем за мен:https://blog.zenika.com/2012/05/23/spring-batch-and-mongodb-cursor-based-item-reader/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. промяна на типа mongodb в масив

  2. Механизмът за удостоверяване SCRAM-SHA-1 не се поддържа

  3. Вземете генериран скрипт в MongoDB C# драйвер

  4. Как да филтрирате колекция въз основа на всеки елемент от масив в поле на документ в Mongodb

  5. Непряка промяна на претоварено свойство Laravel MongoDB