集合 Collections

Directus 中“Collections” 集合的 REST 和 GraphQL API 文档。集合是项目的单个集合,类似于数据库中的表。 对集合的更改将改变数据库的架构。

集合对象

collection 字符串
集合的名称。这与数据库中的表名匹配。

元数据

Directus 元数据,主要用于 Admin App。

collection string
集合的名称。这与数据库中的表名匹配。

icon string
使用此集合时,管理应用程序中显示的图标。

note string
管理应用程序中显示的简短说明。

display_template string
在 Admin App 中以相关方式查看时,此集合中的项目应如何显示。

hidden boolean
此集合是否隐藏在管理应用程序中。

singleton boolean
此集合是否被视为单例。

translations array
此集合的名称如何在管理应用程序中以不同语言显示。

archive_field string
集合中的哪个字段保存存档状态。

archive_value string
归档项目时应将归档字段设置为什么值。

unarchive_value string
取消归档项目时应将归档字段设置为什么值。

archive_app_filter boolean
Admin App 是否应允许用户查看归档项目。

sort_field boolean
哪个字段保存集合的排序值。 Admin App 使用它来允许拖放手动排序。

accountability string
跟踪什么数据。 allactivity 之一。有关详细信息,请参阅 Accountability

item_duplication_fields array
在此集合中的项目的“另存为副本”操作期间,哪些字段会重复。有关详细信息,请参阅 复制

group string
父集合的名称。这用于集合的分组/嵌套

sort number
集合相对于同级别的其他集合的排序顺序。这用于集合排序

collapse string
此集合或“文件夹”集合具有嵌套集合时的默认行为是什么。 opencloselocked 之一。

架构

“原始”数据库信息。 根据使用的数据库供应商,可能会返回不同的信息。 以下内容适用于所有驱动程序。

name string
表名。

comment string
表注释。

“文件夹”集合不包含任何数据, 因此他们的模式将是null.

json
{
  "collection": "articles",
  "meta": {
    "collection": "articles",
    "icon": "article",
    "note": "Blog posts",
    "display_template": "{{ title }}",
    "hidden": false,
    "singleton": false,
    "translations": [
      {
        "language": "en-US",
        "translation": "Articles"
      },
      {
        "language": "nl-NL",
        "translation": "Artikelen"
      }
    ],
    "archive_field": "status",
    "archive_value": "archived",
    "unarchive_value": "draft",
    "archive_app_filter": true,
    "sort_field": "sort",
    "item_duplication_fields": null,
    "sort": 1
  },
  "schema": {
    "name": "pages",
    "comment": null
  }
}

列出集合

列出可用的集合。

查询参数

此端点当前不支持任何查询参数。

返回

集合对象的数组。

REST API

GET /collections
SEARCH /collections

Learn more about SEARCH ->

GraphQL

POST /graphql/system
graphql
type Query {
 collections: [directus_collections]
}
示例
graphql
query {
 collections {
  ...
 }
}

检索集合

按表名检索单个集合。

查询参数

此端点当前不支持任何查询参数。

返回

一个 集合对象

REST API

GET /collections/:collection
示例
GET /collections/articles

GraphQL

POST /graphql/system
graphql
type Query {
 collections_by_name(name: String!): directus_collections
}
示例
graphql
query {
 collections_by_name(name: "articles") {
  ...
 }
}

创建一个集合

创建一个新的集合。 这也将在数据库中创建一个新表。

查询参数

此端点当前不支持任何查询参数。

请求正文

collection 属性是必需的,集合对象 的所有其他属性都是 可选的。

您可以提供在创建集合期间要创建的“字段”数组。 有关字段中可用属性的更多信息,请参阅 fields object

返回

在此请求中创建的集合的 集合对象

确保在创建集合时为模式 (schema: {}) 传递一个空对象。 或者,您可以完全省略它或使用 schema: null 来创建 "folder" 集合

REST API

POST /collections
示例
json
// POST /collections

{
  "collection": "testimonials",
  "meta": {
    "icon": "format_quote"
  }
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_collections_item(data: directus_collections): directus_collections
}
示例
graphql
mutation {
 create_collections_item(data: {
  collection: "testimonials",
  meta: {
   icon: "format_quote"
  }
 }) {
  ...
 }
}

更新集合

更新现有集合的元数据。

查询参数

此端点当前不支持任何查询参数。

请求正文

您只能更新 collection objectmeta 值。 目前不支持更新集合名称。

返回

此请求中更新的集合的 集合对象

REST API

PATCH /collections/:collection
示例
json
// PATCH /collections/testimonials

{
  "meta": {
    "note": "Short quotes from happy customers."
  }
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_collections_item(collection: String!, data: update_directus_collections_input!): directus_collections
}
示例
graphql
mutation {
 update_collections_item(collection: "testimonials", data: { meta: { note: "Short quotes from happy customers." } }) {
  collection
 }
}

删除收藏

删除一个集合。

破坏性
请注意,这将从数据库中删除表,包括其中的所有项目。 此操作无法撤消。

REST API

DELETE /collections/:collection
示例
DELETE /collections/articles

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_collections_item(collection: String!): delete_collection
}
示例
graphql
mutation {
 delete_collections_item(collection: "articles") {
  collection
 }
}