【问题标题】:Python, CouchDb: how to Update already existing document by IDPython,CouchDb:如何按 ID 更新现有文档
【发布时间】:2017-02-23 17:02:49
【问题描述】:

我正在尝试按 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 更新文档?正确的做法是什么?

【问题讨论】:

    标签: python python-2.7 couchdb bottle couchdb-python


    【解决方案1】:

    couchdb-pythondb.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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多