Trong thiết lập Mongodb điển hình, có thể có độ trễ giữa thời điểm ghi cơ sở dữ liệu trả về thành công và khi dữ liệu đó có thể được đọc. Có hai lý do cho điều này:
- Để tăng hiệu suất, việc ghi "không an toàn" có thể trả về trước khi dữ liệu được đưa vào đĩa.
- Mongodb sử dụng các tập hợp bản sao và có độ trễ sao chép. Các lần đọc thông thường được phân phối cho các bản sao như một hình thức cân bằng tải, vì vậy, ngay cả khi bạn sử dụng cách ghi an toàn, bạn có thể đang đọc từ một máy chủ khác với máy chủ bạn vừa viết và do đó không thấy dữ liệu bạn vừa viết.
Để đảm bảo rằng bạn luôn có thể đọc lại ngay lập tức dữ liệu bạn vừa viết bằng Mongoid, bạn cần đặt các tùy chọn phiên cơ sở dữ liệu consistency: :strong, safe: true
, cả hai đều không phải là mặc định.