编程语言
首页 > 编程语言> > 用python查询cloudant

用python查询cloudant

作者:互联网

可能有一个明显的答案,但我似乎无法在任何地方找到它:查询存储在云服务器上的couchdb数据库的最佳方法是什么?我尝试使用临时视图,一个couchdb.py说明:

>>> db['johndoe'] = dict(type='Person', name='John Doe')
>>> db['maryjane'] = dict(type='Person', name='Mary Jane')
>>> db['gotham'] = dict(type='City', name='Gotham City')
>>> map_fun = '''function(doc) {
...     if (doc.type == 'Person')
...         emit(doc.name, null);
... }'''
>>> for row in db.query(map_fun):
...     print row.key
John Doe
Mary Jane

虽然这适用于本地托管的数据库,但使用CloudAnt会返回错误:

couchdb.http.ServerError: (403, ('forbidden', 'temp views are disabled on Cloudant'))

我已经阅读了关于查询的cloudant教程,但提出的查询语法看起来很笨拙,并且如何将其用于python并不明显!有一个简单的方法吗?

解决方法:

Cloudant禁止临时视图的原因是因为它们无法扩展.您需要创建一个包含已定义视图的设计文档.以下是设计文档与其上定义的视图相似的链接:

http://max.ic.ht/_utils/document.html?action/_design/action

我不知道如何在couchdb.py中这样做,但你可能想尝试一个不同的python库.以下是有关在couchquery中创建视图的部分的链接

http://mikeal.github.com/couchquery/#creating-views

标签:python,couchdb,cloudant
来源: https://codeday.me/bug/20190621/1252779.html