我想要此查询参数的 documentdb 等效项:
Expression<Object> whenCase = null;
whenCase = criteriaBuilder.selectCase()
.when(criteriaBuilder.equal(root.<String> get(columnName), "Unknown"), "00")
.when(criteriaBuilder.equal(root.<String> get(columnName), "NA"), "00")
.when(criteriaBuilder.equal(root.<String> get(columnName), "Not installed"), "00")
.otherwise(root.<String> get(columnName));
criteriaQuery.orderBy( criteriaBuilder.desc(whenCase) );
简而言之,如果该列具有值 - Unknown/NA/Not installed,则应将它们附加到结果列表的末尾。问题:如何实现条件排序?
我对documentdb相当陌生。我能够将 when 案例迁移到 documentdb 等效项。
List<OtherwiseBuilder> whenCase = new ArrayList<>();
whenCase.add(Cond.newBuilder()
.when(Criteria.where(columnName).is("Unknown")).then("00"));
whenCase.add(Cond.newBuilder()
.when(Criteria.where(columnName).is("NA")).then("00"));
whenCase.add(Cond.newBuilder()
.when(Criteria.where(columnName).is("Not installed")).then("00"));
return whenCase;
但是,如果有什么情况,我无法找到按/排序的顺序。