我有一个包含大约200万份文档的数据库。该数据库包含许多重复文档。我在CouchDB-Futon
中写了一个map reduce函数,它删除了重复项。现在我想在我的python脚本中获取此视图的值。
import cloudant
account = cloudant.Account('Cricket-Harvestor')
db = account.database('Cricket-Analysis')
# view = Over here I want to reference the view I created in CouchDB futon.
for doc in view:
# and so does this!
print doc
有人可以在这指导我吗?我还在下面提到了网址:
https://pythonhosted.org/CouchDB/mapping.html
这使用couchdb-python
库。我正在使用相同的库创建和存储文档。但是,从CouchDB-Futon
创建的视图中获取多个文档中的数据似乎没有用处。
答案 0 :(得分:1)
您的示例代码正在使用Cloudant Python library。
以下是在Cloudant教育帐户的animaldb数据库中查询视图的类似示例:
import cloudant
account = cloudant.Account('education')
db = account.database('animaldb')
doc = db.design('views101')
view = doc.view('latin_name_jssum?reduce=false')
for doc in view:
print doc
输出:
{u'value': 19, u'id': u'kookaburra', u'key': u'Dacelo novaeguineae'}
{u'value': 19, u'id': u'snipe', u'key': u'Gallinago gallinago'}
{u'value': 10, u'id': u'llama', u'key': u'Lama glama'}
{u'value': 11, u'id': u'badger', u'key': u'Meles meles'}
{u'value': 16, u'id': u'aardvark', u'key': u'Orycteropus afer'}
您可以使用curl或浏览器在此网址的视图中查看原始json响应。
以下是卷曲版本:
snowch$ curl https://education.cloudant.com/animaldb/_design/views101/_view/latin_name_jssum?reduce=false
{"total_rows":5,"offset":0,"rows":[
{"id":"kookaburra","key":"Dacelo novaeguineae","value":19},
{"id":"snipe","key":"Gallinago gallinago","value":19},
{"id":"llama","key":"Lama glama","value":10},
{"id":"badger","key":"Meles meles","value":11},
{"id":"aardvark","key":"Orycteropus afer","value":16}
]}