在我原来的问题中这是一个错字。以下就是我所观察到的。
我的查询看起来像这样 -
字符串查询= select * from table1,其中guid不缺失,doc_type ='xyz'和(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 statement = N1qlQuery.parameterized(query,placeHolders);
这不起作用。但是,如果我尝试使用单引号传递guid_list并在我的查询中硬编码列表,它工作正常。当我把它作为列表传递时,不确定为什么它不起作用。是因为当我作为列表传递时,它以双引号[“a1b3594f-0b76-4c54-8206-db2c16286320”]而不是['a1b3594f-0b76-4c54-8206-db2c16286320']进行。
答案 0 :(得分: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”]}“