我一直在思考如何使用nodejs / socket.io / mongodb创建实时Web应用程序。这个想法与Google文档非常相似,页面上编辑的对象会被发送到所有客户端浏览器并重新呈现。
最好的方法是什么?根据我所了解的,我能够想到3种方法:
1)使用mongodb oplogs
向mongodb集合添加“监听器”,每当对集合进行更改时重新呈现页面的部分内容(缺点:速度较慢?)
2)使用本地json
将mongodb数据检索到json文件中,使用fs进行编辑,在完成后保存到mongodb并删除json(缺点:在数据库和实际应用程序之间有额外的层次感,不太方便)
3)仅使用socket.io
重新呈现而不存储,仅在所有更改完成后保存(缺点:文件可能无法在所有浏览器上正确呈现)
是否有更好的方法来实现这一目标?(Google Docs到底是如何工作的?)真的很感谢任何人可以提供的帮助!