2017-10-20 205 views
1

我通过聆听改变流是处理后的CouchDB文档。该方案如下:检查附件是否是最新的与当前文档的修订在我的应用程序的CouchDB

  1. 我的应用程序被通知的文件得到了通过改变/ DB/_changes
  2. 它取了文件,并检查该文件有一个合适的附件,如果附件的revpos是等于文件修改的第一部分。如果例如转速看起来像这样13-D2JDBS3然后我在-字符分割字符串,采取的第一个比赛,将其转换为一个数字,把它比作附件的revpos
  3. 如果上述检查失败,我生成PDF并将其附加到文档。

这工作不错迄今。但我想知道这是由couchdb的设计是故意的。依靠这种行为是否安全?(revpos反映它所属修订的第一部分)?在文档中我找不到任何关于此的内容。

预先感谢关于这一主题的任何暗示。

回答

1

我觉得这个故意的,似乎是公众和记录的API,虽然措辞很可能使用一些澄清。

Revisions documentation他们说:

的版本号是文档的与N-前缀表示的次文件得到更新次数的运输代表的MD5哈希值。

而在Attachments documentation他们说:

revpos(数字):修订时添加附件[强调他们的]

这有点不幸的是,他们所谓的整个_rev标识前一个文档中的“修订版号”,因为后者的意图似乎很清楚,只有“N”前缀为“号码”。

你可能会考虑向这个文档错误,要求他们澄清revpos永远是“N-前缀”如果这确实是一件他们愿意担保的“N”的一部分。

+0

非常感谢您的文档提示! – domachine

相关问题