MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Spring MongoItemReader không đọc tất cả các bản ghi trên một lần thực thi

Tôi đoán rằng có thể bạn đang cập nhật bộ sưu tập mà bạn đang đọc và bạn cũng đang cập nhật trường mà truy vấn đang sử dụng. Nếu vậy thì gần đây tôi đã gặp vấn đề tương tự.

MongoItemReader là một trình đọc phân trang. Vì vậy, mỗi khi người viết cập nhật những bản ghi đó, người đọc có một nhóm nhỏ hơn nhưng trang vẫn tăng lên.

Vì vậy, hãy tưởng tượng rằng chúng ta có 20 mục và đọc 5 mục cùng một lúc:

1) Đọc các Mục 1-5 từ tổng số 20.

2) Cập nhật các Mục 1-5 và hiện có tổng cộng 15 mục có thể có

3) Đọc các mục từ 6-10 trong tổng số 15.

4) Cập nhật các mục 6-10 và hiện có tổng cộng 10 mục có thể.

5) Đọc các mục 11-15 trong số 10 mục có thể có

6) Đọc trả về null vì không có gì được trả về cho trang đó.

Vì vậy, bây giờ bạn chỉ xử lý một nửa.

Tôi đã làm theo hướng dẫn bên dưới để tạo MongoDbCursorItemReader giải quyết vấn đề này cho tôi: 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. Làm cách nào để MongoDB tránh được mớ hỗn độn về SQL injection?

  2. tạo một cơ sở dữ liệu khác nhau cho mỗi bộ sưu tập trong MongoDB 2.2

  3. Mongodb tìm bên trong mảng phụ

  4. Quên đường dẫn dữ liệu mongodb

  5. Chữ h trong tài liệu oplog.rs đại diện cho điều gì?