Bạn bè!Lặp lại bộ sưu tập lớn ở MongoDB qua số liệu mùa xuân
Tôi đang sử dụng MongoDB trong dự án java qua dữ liệu mùa xuân. Tôi sử dụng giao diện Repository để truy cập dữ liệu trong bộ sưu tập. Đối với một số xử lý, tôi cần phải lặp qua tất cả các phần tử của bộ sưu tập. Tôi có thể sử dụng phương thức fetchAll của kho lưu trữ, nhưng nó luôn trả về ArrayList.
Tuy nhiên, có nghĩa là một trong các bộ sưu tập sẽ lớn - tối đa 1 triệu bản ghi ít nhất một kilobyte mỗi bộ. Tôi cho rằng tôi không nên sử dụng fetchAll trong các trường hợp như vậy, nhưng tôi không thể tìm thấy các phương thức tiện lợi nào trả về một số iterator (có thể cho phép thu thập một phần), cũng như các phương thức thuận tiện với callbacks.
Tôi chỉ thấy hỗ trợ để truy xuất các bộ sưu tập đó trong các trang. Tôi tự hỏi liệu đó có phải là cách duy nhất để làm việc với những bộ sưu tập như vậy không?
Bạn có thể sử dụng 'hạn()' chức năng để hạn chế các chức năng để lấy dữ liệu trong các khối –
Tôi không quen thuộc với khung công tác mà bạn đang sử dụng, nhưng tôi sẽ thấy nó rất lạ nếu nó không có một số trình bao bọc cho các con trỏ của MongoDB. Bạn có chắc chắn rằng những gì bạn đang nhận được là một 'ArrayList', và không phải là một thực thi' List' tùy chỉnh mà quấn quanh một con trỏ? – thkala
vâng, chắc chắn - Tôi vừa đăng nhập findAll(). GetClass() cho bộ sưu tập khoảng 3 triệu và tôi nghĩ rằng tôi đã thấy java.util.ArrayList ... –