couchdb/pouchdb 是否在子文档级别复制工作?

Does couchdb/pouchdb replicate work at a sub-document level?

我正在使用 couchdb 存储课程内容(文本、附件),这些内容将与带有 pouchdb 的移动应用程序同步。 此内容会不时更改,我想使用复制机制将更新的内容发送到移动设备。

我这里有两个选择:

  1. 我应该将课程的全部内容存储在一个文档中吗?如果我这样做,即使只有一小部分发生变化,整个文档是否会通过网络传输?
  2. 我是否应该在较小的文档中打破课程(例如课程 > 模块 > 课程 -> 内容块)以便通过互联网发送更小的信息块?

最好的选择是什么?

对于附件,CouchDB 将进行子文档更新,而 PouchDB 不会,尽管正在为 PouchDB 做这方面的工作。

对于任何未存储在附件中的数据,其余的 JSON 也不会在子文档级别更新,因此每次更改都会传输整个 JSON。

如果您希望最大限度地减少更改时传输的数据量并且不担心整个课程的原子更改。然后把它分成几个文件听起来是个不错的主意。