Я не смог найти ответ на свой вопрос, но после попытки еще нескольких опций обнаружил, что могу сделать это, изменив формат моего объекта JSON.
From:
[
{
"u": {
"_class": "com.users.api.model.User",
"name": "abc",
"emails": {
"emaillist": [
"abc@email.com",
""xyz@email.com"
]
}
}
}
]
TO this:
[
{
"u": {
"_class": "com.users.api.model.User",
"name": "abc",
"emails": [
"abc@email.com",
""xyz@email.com"
]
}
}
]
Теперь метод в реактивном репозитории couchbase изменен на:
@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} AND ARRAY_CONTAINS(emails, $1)")
Flux<User> findByIdEmail(String email);
Далее я проверил журналы, чтобы увидеть, является ли поток потоком ввода-вывода или niothread
DEBUG 19228 --- [reactor-http-nio-3] s.d.c.r.q.ReactiveAbstractN1qlBasedQuery : Executing N1QL query: {"args":["ABC"],"statement":"SELECT META(`user`).id AS _ID, META(`user`).cas AS _CAS, `user`.* FROM `user` where `_class` = \"com.users.api.model.User\" AND ARRAY_CONTAINS(emails, $1)","scan_consistency":"statement_plus"}
Я надеюсь, что это решение поможет другим, и не уверен, почему я хотел создать структуру с Object, а затем с массивом.Поправь меня, если я ошибаюсь.