Извлечение данных из представления, написанного в CouchDB-Futon, с использованием Python
У меня есть база данных с около 2 миллионов документов. Эта база данных содержит много дубликатов документов. Я написал функцию уменьшения карты в 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
Может ли кто-нибудь, пожалуйста, направить меня сюда? Я также упомянул ниже URL:
https://pythonhosted.org/CouchDB/mapping.html
Это использует couchdb-python
библиотека. Я создаю и храню документы, используя одну и ту же библиотеку. Но это, кажется, не служит цели для извлечения данных из нескольких документов из представления, которое было создано на CouchDB-Futon
,
1 ответ
Ваш пример кода использует библиотеку Cloudant Python.
Вот аналогичный пример запроса представления в базе данных animaldb учетной записи Cloudant Education:
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'}
Вы можете увидеть необработанный json-ответ из представления по этому URL-адресу, используя curl или через браузер.
Вот версия curl:
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}
]}