使用 Java 中的 N1QL 查询使用 where 子句从 Couchbase 过滤记录
Filter records from Couchbase with where clause using N1QL Query in Java
我需要在我的查询中有一个 where 子句来过滤掉小于作为参数传递的星期的记录。
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);
我只想从 "Week" 字段中获取大于“201526”的记录。
Couchbase 文档样本是:
{
"id": "SS16-201525",
"type": "TescoWeeks",
"Season": "SS16",
"Week": "201525"
}
谢谢,
IRK
添加以下查询并得到我预期的结果。
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);
我需要在我的查询中有一个 where 子句来过滤掉小于作为参数传递的星期的记录。
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);
我只想从 "Week" 字段中获取大于“201526”的记录。
Couchbase 文档样本是:
{
"id": "SS16-201525",
"type": "TescoWeeks",
"Season": "SS16",
"Week": "201525"
}
谢谢, IRK
添加以下查询并得到我预期的结果。
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);