这可能有一个明显的答案,但我似乎无法在任何地方找到它:查询存储在 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 并不明显!有没有简单的方法解决这个问题?