首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python查询cloudant

使用python查询cloudant
EN

Stack Overflow用户
提问于 2011-10-18 23:50:13
回答 4查看 2.6K关注 0票数 4

这个问题可能有一个显而易见的答案,但我似乎在任何地方都找不到它:查询存储在cloudant服务器上的couchdb数据库的最佳方法是什么?我尝试使用临时视图,就像couchdb.py指令一样:

代码语言:javascript
复制
>>> 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,它返回错误:

代码语言:javascript
复制
couchdb.http.ServerError: (403, ('forbidden', 'temp views are disabled on Cloudant'))

我已经读过关于查询的cloudant教程,但提出的查询语法似乎很笨拙,而且不清楚如何将其转换为python!有什么简单的方法可以解决这个问题吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-19 01:34:44

Cloudant禁止临时视图的原因是它们不能扩展。您需要创建一个设计文档,其中包含已定义的视图。以下是一个链接,指向设计文档及其上定义的视图:

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

我不确定如何在couchdb.py中做到这一点,但您可能希望尝试不同的python库。以下是有关在couchquery中创建视图的部分的链接

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

票数 1
EN

Stack Overflow用户

发布于 2014-06-26 22:17:38

这就是我用python添加记录的方式。

代码语言:javascript
复制
import requests
import json

doc = {
  'username':'kerrie',
  'high_score':550,
  'level':3
}

auth = ('username', 'password')
headers = {'Content-type': 'application/json'}

post_url = "https://account.cloudant.com/database/kerrie".format(auth[0])

r = requests.put(post_url,  auth=auth,  headers=headers,  data=json.dumps(doc))
print json.dumps(r.json(), indent=1)

这就是我在Python中查询10条记录的方式。

代码语言:javascript
复制
import requests
import json
auth = ('username', 'password')
get_url = "https://account.cloudant.com/database/_all_docs?limit=10".format(auth[0])
r = requests.get(get_url, auth=auth)
print json.dumps(r.json(), indent=1)
票数 3
EN

Stack Overflow用户

发布于 2017-10-20 04:38:35

只需注意Cloudant现在有一个官方的python库,https://github.com/cloudant/python-cloudant

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7810064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档