【问题标题】:How to generate _id on conflict during replication of cloudant databases?如何在复制 cloudant 数据库期间在冲突时生成 _id?
【发布时间】:2016-06-01 19:31:22
【问题描述】:

在使用复制APIhttps://docs.cloudant.com/replication_guide.html时,如何在发生冲突时指示cloudant生成新的_id?

基本上我必须将文档从一个数据库合并到另一个数据库...我将指定“doc_ids”进行复制...但是如果发生冲突,我希望 cloudant 生成一个新的 _id 并继续。这可能吗?

【问题讨论】:

  • 如果 Cloudant 与 CouchDB 类似,您将需要侦听更改提要的冲突并自行更新有冲突的文档。

标签: cloudant


【解决方案1】:

Cloudant 与 CouchDB 一样,无法代表您处理冲突。这意味着您需要在应用程序代码中处理此问题,您可以收听changes 提要。如果您不熟悉冲突和解决冲突,可以使用这些指南。

https://cloudant.com/blog/introduction-to-document-conflicts-part-one/

https://cloudant.com/blog/introduction-to-document-conflicts-part-two/

https://cloudant.com/blog/introduction-to-document-conflicts-part-three/

【讨论】:

  • 如果我使用查询参数 "_changes?filter=_doc_ids&doc_ids=00087383d5fbddb5877b19fcd14fdc47&include_docs=true&conflicts=true 我得到一个错误 {"error":"bad_request","re​​ason":"filter 参数必须是形成designname/filtername"}
  • 那可能是因为 filter 参数用于指定过滤功能,请参阅_changes的文档
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
  • 2016-08-17
  • 2011-10-17
  • 1970-01-01
相关资源
最近更新 更多