Musisz pobrać ten dokument według jego ObjectID, co nie będzie możliwe w bieżącym węźle, który śledzisz w oplog
od ponieważ do czasu otrzymania operacji usuwania z oplog
, dokument zniknął. Co moim zdaniem oznacza, że masz dwie możliwości:
- Upewnij się, że wszystkie usunięcia są poprzedzone operacją aktualizacji, która pozwala zobaczyć wymagane pola dokumentu przed usunięciem (oczywiście spowoduje to, że usuwanie będzie droższe)
- Uruchom pomocniczy z opóźnieniem modułu podrzędnego a następnie zapytaj ten węzeł o dokument, który został usunięty (bezpośrednio lub za pomocą tagi ).
W przypadku numeru 2 problemem jest opóźnienie, które jest wystarczająco długie, aby zagwarantować, że możesz pobrać dokument, i wystarczająco krótkie, aby upewnić się, że otrzymujesz aktualną wersję dokumentu. O ile nie dodasz kontroli wersji do dokumentu (która staje się wtedy podobna do opcji 1, prawdopodobnie chcesz zaktualizować wersję przed usunięciem), będzie to zasadniczo optymistyczne, najlepsze rozwiązanie.