我正在使用python cloudant库,尝试执行一个查询:

import cloudant

my_database = client['database']

query = cloudant.query.Query(my_database,selector={'selector': {'$gt': 0}},fields=['doi'])
for doc in query(limit=100, skip=100)['docs']:
    print doc

这会给我一个错误:HTTPError:400 Client error:Bad Request for url:https://myurl.com/mydatabase/_find
在浏览器中加载页面时出现此错误:
{“error”:“method_not_allowed”,“reason”:“Only POST allowed”}
我错过了什么?

最佳答案

除非在名为selector的字段上有索引,否则此查询将不起作用。
因此,假设您打算使用_id字段上的主索引,那么如果您将selector={'selector': {'$gt': 0}}更改为selector={'_id': {'$gt': 0}},那么这个查询应该可以工作。
如所示:

import cloudant

client = cloudant.Cloudant(USER, PWD, account=ACCOUNT)
client.connect()

my_database = client['database']

query = cloudant.query.Query(my_database,selector={'_id': {'$gt': 0}},fields=['doi'])
for doc in query(limit=100, skip=100)['docs']:
    print doc

关于python - python-cloudant查询错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35166617/

10-12 16:39