최신 버전의 Java SDK (작성 시점 기준 2.3.3)에 새로운 클래스가 도입되었습니다: RawQueryExecutor
. 이는 직접적인 결과를 제공합니다. N1QL 또는 FTS 쿼리를 직접 사용할 때와 마찬가지로 JSON 문자열 또는 JsonObject로 전달할 수 있습니다. 답변은 행으로 래핑되지 않습니다. 따라서 메서드의 결과를 클라이언트에 직접 전달할 수 있습니다. 추가 매핑이나 그 어떤 것도 필요하지 않습니다.
이는 SELECT 절을 통해 필요한 것을 정확히 쿼리할 수 있으므로 N1QL 쿼리에 특히 유용합니다. 적절한 커버링 인덱스와 함께 사용하면 매우 효율적입니다.
비동기 코드 샘플은 다음과 같습니다:
1 2 3 |
비동기 로쿼리 실행기 비동기 로쿼리 실행기= new 비동기 로쿼리 실행기("default", "", 버킷.핵심()); 관찰 가능<문자열> 결과 = 비동기 로쿼리 실행기.n1qlToRawJson(N1qlQuery.simple("`beer-sample`에서 이름, abv, ibu, 스타일 선택 여기서 ibu가 누락되지 않은 순서로 10 오프셋 10으로 제한")); |
동기식입니다:
1 2 3 |
RawQueryExecutor rawQueryExecutor = new RawQueryExecutor("default", "", 버킷.핵심(), 버킷.환경()); 문자열 jsonString = rawQueryExecutor.n1qlToRawJson(N1qlQuery.simple("`beer-sample`에서 이름, abv, ibu, 스타일 선택 여기서 ibu가 누락되지 않은 순서로 10 오프셋 10으로 제한")); |
이 기능이 유용하다고 생각하시는지, 그리고 더 간단한 작업을 위해 이 기능을 원하시는지 알고 싶습니다. 여러분의 의견을 알려주세요!