python-cloudant查询错误

python-cloudant query error

我正在使用 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 客户端错误: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