文档服务 API:对结果进行排序与分页

页面摘要: 使用文档服务 API 的 sort 与分页参数,可按单个或多个字段对查询结果排序,并通过 limit 与 start 控制返回结果的数量与起始位置。

文档服务 API 提供对查询结果进行排序与分页的能力。

排序(Sort)

若要为文档服务 API 返回的结果排序,可在查询中加入 sort 参数。

按单个字段排序

使用字符串值,基于单个字段对结果进行排序。

JavaScript

const documents = await strapi.documents("api::article.article").findMany({
  sort: "title:asc",
});

响应

[
  {
    "documentId": "cjld2cjxh0000qzrmn831i7rn",
    "title": "Test Article",
    "slug": "test-article",
    "body": "Test 1"
  },
  {
    "documentId": "cjld2cjxh0001qzrm5q1j5q7m",
    "title": "Test Article 2",
    "slug": "test-article-2",
    "body": "Test 2"
  }
]

按多个字段排序

通过传入排序对象数组,对多个字段的结果进行排序。

JavaScript

const documents = await strapi.documents("api::article.article").findMany({
  sort: [{ title: "asc" }, { slug: "desc" }],
});

响应

[
  {
    "documentId": "cjld2cjxh0000qzrmn831i7rn",
    "title": "Test Article",
    "slug": "test-article",
    "body": "Test 1"
  },
  {
    "documentId": "cjld2cjxh0001qzrm5q1j5q7m",
    "title": "Test Article 2",
    "slug": "test-article-2",
    "body": "Test 2"
  }
]

分页(Pagination)

使用 limit 与 start 参数对结果进行分页。

JavaScript

const documents = await strapi.documents("api::article.article").findMany({
  limit: 10,
  start: 0,
});

响应

[
  {
    "documentId": "cjld2cjxh0000qzrmn831i7rn",
    "title": "Test Article",
    "slug": "test-article",
    "body": "Test 1"
  },
  {
    "documentId": "cjld2cjxh0001qzrm5q1j5q7m",
    "title": "Test Article 2",
    "slug": "test-article-2",
    "body": "Test 2"
  }
]