1

約 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

誰か私をここに案内してくれませんか? 以下のURLも参考にさせていただきました。

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 に答える