Couchbase java 带有 IN 表达式的 N1QL DSL 查询语句

Couchbase java N1QL DSL query statement with IN expression

尝试编写类似

的 N1QL 查询
SELECT * from bucket
WHERE s IN ["s1", "s2", ..., "sn"]
END;

在 DSL 中。假设我有一个名为 s_array 的字符串列表,我需要这样写:

select("*").from("bucket")
.where(x("s").in(s_array);

在 DSL 中编写 IN 表达式而不将所有列表元素连接成字符串或其他内容的最佳方法是什么?

您可以使用 JsonArray 重载来执行此操作,如下所示:

select("*").from("bucket")
            .where(x("s").in(JsonArray.from("s1", "s2", "s3"));