【发布时间】:2020-09-20 00:04:46
【问题描述】:
在复制期间,我需要验证客户端尝试写入我的 CouchDB 实例的文档。理想情况下,我应该只拒绝允许所有其他人通过的“无效”文件。其他可能的结果可能是拒绝整个复制过程并且完全不接受任何文件。我无法使用 validate_doc_update 函数,因为它缺少做出决定所需的所有信息。
我考虑在服务背后提供所有 endpoints needed for replication,并在应用程序级别验证文档。例如,从POST /_bulk_docs 获取所有文档,如果某些文档无效,则返回 400 错误响应。
我是否正确理解这种方法会停止复制过程,并且数据库可能会留下部分复制的文档?这是因为 documents are uploaded in chunks 在复制期间,因此可能有几个 POST /_bulk_docs 调用,其中第一个具有所有有效文档,第二个无效。
还有其他方法,我怎样才能只丢弃无效的文档?
感谢您的帮助!
【问题讨论】: