java-cloudant API,我遇到了如何使用 cloudant java api 查询我的 cloudant 数据的问题

java-cloudant API, I am facing problems on how to query my cloudant data using the cloudant java api

我正在使用 Cloudant Java API.

我创建了数据库并存储了具有以下结构的文档: { "_id": "XXX", "_rev": "XX", "Place_id": X }

我想查询此数据库以查找 place_id > 100。

目前我已经创建了索引并且正在使用 findbyindex 如下所示: String Selector="{\"Place_id\": {\"$gt\": 100}}"; List<places> p1 = db_use.findByIndex(Selector,places.class); 注意:db_use 是数据库,我使用它插入了记录,并通过 _all_docs 视图检查了它们。

我收到以下错误:

    org.lightcouch.CouchDbException: Bad Request{"error":"bad_request","reason":"invalid UTF-8 JSON"}   
    at org.lightcouch.CouchDbClientBase.validate(Unknown Source)
    at org.lightcouch.CouchDbClient.process(Unknown Source)
    at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:139)
    at [internal classes]
    at org.lightcouch.CouchDbClientBase.executeRequest(Unknown Source)
    at com.cloudant.client.api.CloudantClient.executeRequest(Unknown Source)
    at com.cloudant.client.api.Database.findByIndex(Unknown Source)
at com.cloudant.client.api.Database.findByIndex(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1287)
at [internal classes]

我遵循了 https://github.com/cloudant/java-cloudant 中的 api 参考,但仍然使用给定的小示例来调用函数并没有解决我的问题。 如果有人可以指出我的错误或告诉我使用 java 库查询数据库的方法,那将会很有帮助。提前致谢。

您需要在字符串对象的开头添加"selector":

String Selector="\"selector\": {\"Place_id\": {\"$gt\": 100}}";