我在一个集合中有一个相对较大的文档;该文档是一个具有~2000个元素的对象,每个元素本身就是一个小对象。当我在服务器上更新文档时,客户端会锁定6-8秒。
我已经输入了日志记录,告诉我服务器何时完成更新集合,然后有6-8秒冻结,接下来发生的事情是observeChanges在客户端运行,一切都重新开始运行。
我在客户端发出超时,每隔100ms就会登录到控制台。它在延迟期间停止触发,所以我认为我的客户端javascript都没有运行。
延迟似乎与文档的初始加载时间相匹配(我尝试过不同大小的文档)。
我正在使用Iron Router。我已经记录了数据,waitOn和动作函数:它们在延迟之后才会触发。所以我认为路由器不是问题所在。
更新集合的功能仅在服务器上运行,因此客户端仿真速度不慢。
这不是渲染:如果我只触发更新客户端,页面会重新渲染。
我仔细检查了一下,我认为我的客户端代码都没有请求该文档,它的唯一find()在启动时运行,并且它不是自动运行。
< / LI>我已将登录记录到我的发布函数中:该集合未被重新发布。我没有运行自动发布。
有什么想法可能是我可以进一步调查的问题或想法?文件更新时,它是否像不可避免的同步时间一样简单?我需要所有的数据,所以虽然我可以重组它,但我无法摆脱任何数据。