小编Ber*_*mez的帖子

为什么 Java N1QL 中的 ORDER BY 无法按预期工作

当我SELECT * FROM projects ORDER BY createdAt desc在 Couchbase Web UI 中运行此查询时,结果按原样排序,但不是在 Java 中。

Java代码

@Override
    public List<Project> getAllProjects(String requestedOrder, Integer page, Integer pageOffset) {
        String statement = "SELECT projects.* FROM projects ORDER BY $requestedOrder DESC OFFSET $offset LIMIT $pageOffset";
        QueryOptions queryOptions = queryOptions().parameters(
                JsonObject.create().put("offset", (page - 1) * pageOffset)
                        .put("pageOffset", pageOffset)
                        .put("requestedOrder", requestedOrder));
        QueryResult queryResult = couchbaseCluster.query(statement, queryOptions);
        return queryResult.rowsAs(Project.class);
    }
Run Code Online (Sandbox Code Playgroud)

网页界面结果

[
  {
    "projects": {
      "createdAt": 1603804921950,
      "name": "Third Project",
      ...
    }
  },
  {
    "projects": { …
Run Code Online (Sandbox Code Playgroud)

java couchbase spring-boot spring-data-couchbase sql++

3
推荐指数
1
解决办法
140
查看次数