2016-11-16 8 views
0

パラメータとして渡された週未満のレコードをフィルタリングするために、クエリにwhere句を入れる必要があります。JavaのN1QLクエリを使用してwhere句でCouchbaseのレコードをフィルタリングする

Javaコード(N1QLクエリ):

statement = select("distinct Week, Season")      
.from(i(bucketName.toString())).where((x("meta().id").like(s("TescoWeek%")))) 
       .orderBy(Sort.asc("Week")); 
     return couchBaseRepository.getQueryResultAsString(cluster, bucketName, statement); 

私は "ウィーク" フィールドから "201526" より大きいレコードだけを取得したいです。

{ 
    "id": "SS16-201525", 
    "type": "TescoWeeks", 
    "Season": "SS16", 
    "Week": "201525" 
} 

おかげで、 IRK

答えて

1

は、以下のクエリを追加し、私の期待される結果を得た:

Couchbaseのドキュメントサンプルです。

statement = select("distinct id, Season, Week") 
.from(i(bucketName.toString())).where(x("Season").eq(s(seasonId)).and(x("meta().id").like(s("TescoWeek%")) 
       .and(x("Week").gte(s(startWeek))))) 
       .orderBy(Sort.asc("Week")); 
     System.out.println(statement.toString()); 
     return couchBaseRepository.getQueryResultAsString(cluster, bucketName, statement); 
関連する問題