我正在尝试按 ID 更新现有文档。我的目的是通过 id 找到文档,然后使用“json”中的新值更改其“firstName”,然后将其更新到 CouchDB 数据库中。 这是我的代码:
def updateDoc(self, id, json):
doc = self.db.get(id)
doc["firstName"] = json["firstName"]
doc_id, doc_rev = self.db.save(doc)
print doc_id, doc_rev
print "Saved"
//"json" is retrieved from PUT request (request.json)
在self.db.save(doc)我收到异常“太多值无法解压”。
我正在使用 Bottle 框架、Python 2.7 和 Couch Query。
如何通过 ID 更新文档?正确的做法是什么?
最佳答案
在 couchdb-python db.save(doc)
方法 returns tuple of _id and _rev 。您正在使用couch-query - 一个有点不同的项目,也有一个 db.save(doc)方法,但它返回 different result 。所以你的代码应该是这样的:
def updateDoc(self, id, json):
doc = self.db.get(id)
doc["firstName"] = json["firstName"]
doc = self.db.save(doc)
print doc['_id'], doc['_rev']
print "Saved"
关于Python,CouchDb : how to Update already existing document by ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23595909/