문제

CouchDB에서 특히 CouchDB-Python과 함께 여러 문서를 가져 오는 방법은 무엇입니까?

도움이 되었습니까?

해결책 3

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']

다른 팁

가장 쉬운 방법은 포함 _docs = true arg를 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]

문서가 존재하지 않으면 행의 문서가 없을 것입니다.

이것은 모든보기와 함께 작동합니다.보기에 적합한 키 목록 만 제공합니다.

이것은 올바른 방법입니다.

import couchdb

server = couchdb.Server("http://localhost:5984")
db = server["dbname"]
results = db.view("_all_docs", keys=["key1", "key2"])
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top