我可能只是在明显的 doco 中错过了它,但我不知道如何使用 CouchRest 检查我的数据库中是否存在文档。
我尝试了db.get(id)
,但这在我的应用程序中抛出了 404,并且必须尝试/捕获它来解决它似乎有点愚蠢。
是否有一种简单的方式来表示“如果此 ID 存在 -> 更新,否则 -> 创建”?
最佳答案
快速回答 - 不。
基本上,不可能在沙发上保存或更新,因为更新现有文档需要修订号,并且您需要先获取它才能查看。您需要在这里处理 404。
为了更有帮助,我可能会使用这样的方法:
def save_or_create(db, doc)
begin
rev = db.get(doc['_id'])
doc['_rev'] = rev
db.save_doc(doc)
rescue RestClient::ResourceNotFound => nfe
db.save_doc(doc)
end
end
未经测试,但应该接近。
关于ruby - CouchRest - 检查文档 ID 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4505743/