12

特にcouchdb-pythonを使用して、CouchDBから複数のドキュメントをフェッチする方法は?

4

3 に答える 3

22

最も簡単な方法は、include_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]

ドキュメントが存在しない場合、行のドキュメントは None になることに注意してください。

これはどのビューでも機能します。ビューに適したキーのリストを提供するだけです。

于 2009-11-26T13:01:38.157 に答える
4

これが正しい方法です:

import couchdb

server = couchdb.Server("http://localhost:5984")
db = server["dbname"]
results = db.view("_all_docs", keys=["key1", "key2"])
于 2009-10-29T10:32:03.403 に答える
-7
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']
于 2009-10-28T20:52:43.517 に答える