Lý do cho các lỗi gián đoạn là do các tùy chọn đọc mặc định cho trình điều khiển, chủ yếu liên quan đến các tập hợp bản sao. Tùy chọn đọc mặc định là chính. Đối với mỗi chế độ được đề cập bên dưới, PRIMARY đề cập đến cơ sở dữ liệu chính (luôn cập nhật nhất) và SECONDARY đề cập đến (các) chế độ phụ, về cơ bản là các bản sao của chính và không phải lúc nào cũng được cập nhật.
PRIMARY: The default read mode. Read from primary only. Throw an error if
primary is unavailable. Cannot be combined with tags.
Giải pháp để thay đổi tùy chọn đọc thành một trong các tùy chọn sau:
PRIMARY PREFERRED: Read from primary if available, otherwise a secondary.
SECONDARY PREFERRED: Read from a secondary if available, otherwise read from the primary.
NEAREST: Read from any member node from the set of nodes which respond the fastest.
Mã mẫu:
// Use this when doing a read if you don't care if the data is always consistent.
// Change the following with secondaryPreferred() if you have high writes, so
// that you don't interfere with them.
ReadPreference preference = ReadPreference.primaryPreferred();
DBCursor cur = new DBCursor(collection, query, null, preference);
Để biết thêm thông tin, hãy xem nguồn .