我正在将文档放入 couchdb 中,如下所示:
curl -X PUT http://localhost:5984/bucket/keyname_1 \
-d '{"foo":"bar"}'
只要文档尚不存在,此方法就可以正常工作。如果确实存在,我需要包含一个“_rev”键来验证我正在更新现有文档:
curl -X PUT http://localhost:5984/bucket/keyname_1 \
-d '{"_rev":"2-207df9da","foo":"bar"}'
如果 _rev 键丢失,或者 _rev 键与现有记录中的内容不匹配,则会引发“冲突”错误。这就是您知道修订没有被丢弃的方式。
但是如果我想无条件地写它,绕过这个检查呢?
我有一个设计,我正在使用支票更新主记录,然后我想保存一个简短的摘要记录,其中只有几个字段可以轻松抓取和下载以用于摘要屏幕。由于我刚刚更新了主记录,我知道我有最新的副本。我只想写,我不想为了得到_rev而必须先读。这将是多余的。
有什么方法可以修改我的请求以告诉 couchbase 跳过 _rev 检查并无条件地放入文档?