使用Python从CouchDB-Futon中编写的视图中获取数据

时间:2015-04-09 02:17:24

标签: python couchdb cloudant couchdb-futon couchdb-python

我有一个包含大约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创建的视图中获取多个文档中的数据似乎没有用处。

1 个答案:

答案 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}
]}