CouchDB:如果是新的,修改的或删除的,则创建/更新/删除

时间:2014-12-16 09:13:59

标签: couchdb

我正在进行夜间数据同步,我从源/主服务器通过REST API提取完整的文档集并更新作为CouchDB的从属目标。

数据加载非常小,最多100个JSON文档。对于几个文件,主人的更新频率预计为每周1-2次。

可能会发生以下更改:

  • 文档已删除
  • 文件已添加
  • 现有文档中的数据已更改

根据发送的文档集合,CouchDB是否提供了进行创建/更新/删除的任何现成批量操作,并自动检查文档是否为新/更改/删除?如果没有,那么自己实施这个方法会有什么好处呢?

编辑: 我刚刚发现了两个有用的npm模块,用于比较源和目标中的json。对于那些有兴趣解决这个问题的人。

1 个答案:

答案 0 :(得分:1)

由于您的数据集很小,我建议您只使用bulk documents API

您可以使用_all_docs检索整个数据集,将其存储在内存中并执行此操作"这是否存在"和#34;发生了什么变化"全部检查就地。最后,只需通过_bulk_docs发送整个100个文档。

如果您的CouchDB只是不断增长(即:它并不总是100个文档),那么您总是可以编写一些视图来检查特定数据项的添加/更新