代码之家  ›  专栏  ›  技术社区  ›  dnolen

使用CouchDB python获取多个CouchDB文档

  •  12
  • dnolen  · 技术社区  · 16 年前

    3 回复  |  直到 16 年前
        1
  •  22
  •   Matt Goodall    16 年前

    最简单的方法是将include\u docs=True参数传递给Database.view。结果的每一行都将包含文档。例如

    >>> db = couchdb.Database('http://localhost:5984/test')
    >>> rows = db.view('_all_docs', keys=['docid1', 'docid2', 'missing'], include_docs=True)
    >>> docs = [row.doc for row in rows]
    >>> docs
    [<Document 'docid1'@'...' {}>, <Document 'docid2'@'...' {}>, None]
    

    这适用于任何视图-只需提供适合该视图的键列表。

        2
  •  4
  •   Anand Chitipothu    16 年前

    这是正确的方法:

    import couchdb
    
    server = couchdb.Server("http://localhost:5984")
    db = server["dbname"]
    results = db.view("_all_docs", keys=["key1", "key2"])
    
        3
  •  -7
  •   dnolen    16 年前
    import couchdb
    import simplejson as json
    
    resource = couchdb.client.Resource(None, 'http://localhost:5984/dbname/_all_docs')
    params = {"include_docs":True}
    content = json.dumps({"keys":[idstring1, idstring2, ...]})
    headers = {"Content-Type":"application/json"}
    resource.post(headers=headers, content=content, **params)
    resource.post(headers=headers, content=content, **params)[1]['rows']