我有一个文档记录了我网站内的用户旅程。
鼠标移动存储为该文档的子文档。我记录鼠标移动,然后定期使用 $push 附加到子文档数组。从我对 Mongo 的初步阅读来看,这似乎是一种明智/有效的方法。现在我不太确定。
我最近在使用副本集时遇到了一些问题 - 当我的使用量达到峰值时,辅助节点与主节点不同步。查看我的 oplog,我注意到有很多 $set 命令,每个命令都包含用户鼠标移动的整个历史记录,而且似乎 Mongo 正在做这种扩展,以便 oplog 记录可以是不可靠的。
相信它与 JIRA 上的这个问题有关https://jira.mongodb.org/browse/SERVER-9784
我是否正确解释了这个问题?如果是这样,通过网络传播更改似乎是一种非常低效的方式。有没有办法解决这个问题?将鼠标移动分成单独的小文档会更好吗?或者我可以通过在子文档数组上使用动态键来解决这个问题(因此避免使用 $push 命令)。