Anda harus mengambil dokumen itu dengan ObjectID-nya, yang tidak akan mungkin dilakukan pada node saat ini yang Anda ikuti oplog
dari karena pada saat Anda telah menerima operasi penghapusan dari oplog
, dokumen hilang. Yang saya yakini berarti Anda memiliki dua pilihan:
- Pastikan bahwa semua penghapusan didahului oleh operasi pembaruan yang memungkinkan Anda melihat bidang dokumen yang Anda perlukan sebelum penghapusan (tentu saja ini akan membuat penghapusan lebih mahal)
- Jalankan sekunder dengan penundaan slave dan kemudian query node tersebut untuk dokumen yang telah dihapus (baik secara langsung atau dengan menggunakan tag ).
Untuk nomor 2, masalahnya adalah penundaan yang cukup lama untuk menjamin bahwa Anda dapat mengambil dokumen dan cukup singkat untuk memastikan Anda mendapatkan versi dokumen yang terbaru. Kecuali jika Anda menambahkan pembuatan versi ke dokumen sebagai tanda centang (yang kemudian menjadi mirip dengan opsi 1, Anda mungkin ingin memperbarui versi sebelum menghapus), ini pada dasarnya harus menjadi solusi upaya terbaik yang optimis.