如何在 table 中找到所有文档,这些文档具有给定的字符串输入作为字符串列 couchbase 存储库列表中的字符串之一

How to find all the documents in a table which have a given string input as one of the string in list of string column couchbase repository

我想知道有什么方法可以找到 table 中的所有文档,这些文档具有给定的字符串输入作为字符串列 couchbase 存储库列表中的字符串之一

@Data
@Document
@AllArgsConstructor
@NoArgsConstructor
public class User {
    @Id @GeneratedValue(strategy = GenerationStrategy.UNIQUE)
    private String id;

    @NotBlank
    @Field
    private String username;

    @NotBlank
    @Field
    private List<String> cars;
}

我想找到所有将特斯拉作为汽车列表中的值之一的用户 我正在使用 ReactiveCouchbaseRepository 谢谢

我找到了上述问题的解决方案。

@Query("#{#n1ql.selectEntity} WHERE ARRAY_CONTAINS(cars,) AND #{#n1ql.filter}")
Flux<Course> findAllByCars(String car);

以上查询对我有效。

使用https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/indexing-arrays.html

中描述的数组索引
CREATE INDEX ix1 ON default(DISTINCT cars); 
SELECT d.* FROM default AS d WHERE ANY v IN d.cars SATISFIES v =  END;