我需要获取一个文档,更改/插入/删除一些字段并将其放回原处。
“放置”操作需要文档的当前修订版,但在 nano 中,我找不到任何将修订版作为参数并将文档插入数据库的函数。
我怎么能用纳米做到这一点?
我需要获取一个文档,更改/插入/删除一些字段并将其放回原处。
“放置”操作需要文档的当前修订版,但在 nano 中,我找不到任何将修订版作为参数并将文档插入数据库的函数。
我怎么能用纳米做到这一点?
注意:这是通用算法,它并不特定于任何库,因为nano 的insert()
方法不提供任何自动更新文档的功能。
获取文档,保存当前版本,应用您的更改并尝试使用保存的版本号发送文档。
确保处理同时更改文档时可能发生的 409 冲突响应。
在这种情况下,您应该重新获取文档,保存修订号,重新应用您的更改,然后尝试使用新修订再次发送它。
所以这里是算法:
查看CouchDB HTTP 文档 API 的 PUT 部分和 CouchDB 的Replication and Conflicts wiki 页面以获取有关该问题的更多信息。您可能还会发现如何使用 Nano(Node.js 的 CouchDB 客户端)更新文档很有帮助。