-1

这是我原来问题中的一个错字。以下是我观察到的。

我的查询看起来像这样 -

String query = select * from table1 where guid is not missing and doc_type='xyz' and (guid in $guid_list);

我的 guid_list 如下 - List listOfGuid = new ArrayList<>(); listOfGuid.add("a1b3594f-0b76-4c54-8206-db2c16286320");

com.couchbase.client.java.document.json.JsonObject placeHolders = com.couchbase.client.java.document.json.JsonObject.create() .put("guid_list", JsonArray.from(listOfGuid));

N1qlQuery 语句 = N1qlQuery.parameterized(query,placeHolders);

这不起作用。但是,如果我尝试用单引号传递 guid_list 并在我的查询中对列表进行硬编码,它就可以正常工作。不知道为什么当我将它作为列表传递时它不起作用。是因为当我作为列表传递时,它以双引号 ["a1b3594f-0b76-4c54-8206-db2c16286320"] 而不是 ['a1b3594f-0b76-4c54-8206-db2c16286320'] 的形式出现。

4

1 回答 1

0

该语句可能没有正确形成。似乎缺少引号。以下是 curl 命令。curl -v http://localhost:8093/query/service -H "Content-Type: application/json" -d '{"statement":"select * from table1 where doc_type=\"xyz\" AND guid in $ guid_list;","$guid_list":["123","234"]}'

于 2017-05-19T16:46:47.590 回答