我正在尝试评估使用IndexedDB解决离线问题。将使用当前存储在MongoDB数据库中的数据填充(按原样)。

数据存储在IndexedDB中后,可能会在MongoDB服务器上进行更改,我需要传播这些更改。是否有任何现有的框架或库可以为Mongo 做类似的操作。我已经了解CouchDB / PouchDB,并且不会对此进行探讨。

最佳答案

我没有使用IndexDB,但是设计问题并不少见。我对您的应用程序的理解是,当客户端与MongoDB建立连接时,您会拉下一组文档以进行本地存储并断开连接。然后,客户端可以在本地执行操作(未连接到数据服务器),然后上推更改。

我认为您必须处理两种一般情况:

  • 当MongoDB服务器更新并中断与客户端的连续性时,客户端将必须
  • 轮询数据(计时器?)或
  • 保持websocket打开,以使通知自由通过管道
  • 当用户需要将更改的数据推回管道时
  • 您可以异步地重新连接,检查状态变化,(根据您的业务规则解决冲突)
  • 具有服务器端(轻型)接口(interface),用于处理冲突(取决于应用程序的复杂性,将MongoDB中状态更改的时间戳记与IndexedDB更新进行比较就足够了)
  • 关于javascript - 将MongoDB服务器数据同步到IndexedDB本地存储,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12087958/

    10-10 00:11
    查看更多