1

我有一个包含大约 200 万份文档的数据库。该数据库包含大量重复文档。我在 中写了一个 map reduce 函数CouchDB-Futon,它删除了重复项。现在我想在我的 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.

4

1 回答 1

1

您的示例代码使用Cloudant Python 库

以下是查询 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 或浏览器在此 url 的视图中查看原始 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}
]}
于 2015-04-09T07:20:18.300 回答