ObjectIDでそのドキュメントをフェッチする必要があります。これは、oplog
を調整している現在のノードでは不可能です。 oplog
から削除操作を受け取ったときまでに 、ドキュメントがなくなりました。これは、2つの選択肢があることを意味すると思います:
- すべての削除の前に更新操作が行われていることを確認してください。これにより、削除前に必要なドキュメントフィールドを確認できます(これにより、もちろん削除のコストが高くなります)
- スレーブ遅延を使用してセカンダリを実行します 次に、削除されたドキュメントをそのノードに照会します(直接、またはタグ 。
2番目の問題は、ドキュメントをフェッチできることを保証するのに十分な長さで、ドキュメントの最新バージョンを取得していることを確認するのに十分短い遅延があることです。チェックとしてドキュメントにバージョン管理を追加しない限り(オプション1と同様になり、削除する前にバージョンを更新することをお勧めします)、これは本質的に楽観的で最善の解決策である必要があります。