サイト内のユーザー ジャーニーを記録するドキュメントがあります。
マウスの動きは、このドキュメントのサブドキュメントとして保存されます。マウスの動きを記録し、定期的に $push を使用してサブドキュメント配列に追加します。Mongo に関する私の最初の読みから、これは賢明で効率的なアプローチであるように思われました。今はよくわかりません。
最近、レプリカ セットでいくつかの問題が発生しています。使用量が急増すると、セカンダリがプライマリと同期しなくなります。私の oplog を見ると、その時点までのユーザーのマウスの動きの全履歴を含む $set コマンドがたくさんあることに気付きました。Mongo はこの拡張を行っているようで、oplog レコードが不等分になるようです。
JIRAのこの問題に関連していると信じています https://jira.mongodb.org/browse/SERVER-9784
この問題を正しく解釈しましたか? もしそうなら、ワイヤーを介して変更を伝播する非常に非効率的な方法のようです。問題を回避する方法はありますか? マウスの動きを個々の小さなドキュメントに分けたほうがよいでしょうか? または、サブドキュメント配列で動的キーを使用して問題を回避できますか (したがって、$push コマンドを回避します)。