Bạn phải tìm nạp tài liệu đó bằng ObjectID của nó, điều này sẽ không thể thực hiện được trên nút hiện tại mà bạn đang theo dõi oplog
từ vì vào thời điểm bạn nhận được thao tác xóa khỏi oplog
, tài liệu đã biến mất. Tôi tin rằng bạn có hai lựa chọn:
- Đảm bảo rằng tất cả các thao tác xóa đều được thực hiện trước thao tác cập nhật, cho phép bạn xem các trường tài liệu mà bạn yêu cầu trước khi xóa (điều này tất nhiên sẽ làm cho việc xóa đắt hơn)
- Chạy chương trình phụ với độ trễ nô lệ và sau đó truy vấn nút đó để tìm tài liệu đã bị xóa (trực tiếp hoặc bằng cách sử dụng thẻ ).
Đối với số 2, sự cố đang có độ trễ đủ lâu để đảm bảo rằng bạn có thể tìm nạp tài liệu và đủ ngắn để đảm bảo rằng bạn đang nhận được phiên bản cập nhật của tài liệu. Trừ khi bạn thêm lập phiên bản vào tài liệu dưới dạng kiểm tra (sau đó tương tự như tùy chọn 1, bạn có thể muốn cập nhật phiên bản trước khi xóa), đây về cơ bản phải là một giải pháp lạc quan, tốt nhất.