스키마 만들기 더 이상 사용되지 않습니다.

POST /groups/{groupId}/apps/{appId}/schemas

연결된 컬렉션에 대한 새 스키마를 정의합니다. 이 엔드포인트로 스키마를 생성할 때 JSON 페이로드가 완전히 이스케이프되지 않았는지 확인합니다. 잘못 이스케이프된 JSON 형식으로 인해 오류가 발생할 수 있습니다.

경로 매개변수

application/json

body 필수 사항

  • metadata 필수 사항

    메타데이터는 스키마가 적용되는 연결된 컬렉션을 설명합니다.

    Hide metadata attributes 메타데이터 속성 표시
    • data_source 문자열

      데이터 소스 이름입니다.

    • database 문자열

      데이터베이스 이름입니다.

    • 컬렉션 문자열

      컬렉션 이름입니다.

  • 스키마 객체

    컬렉션의 유효한 스키마입니다.

    스키마 속성 숨기기 스키마 속성 표시 객체
    • bsonType 문자열

      필드의 BSON types 입니다.

      값은 object, array, string, number, int, long, double, decimal, date, timestamp, bool, null, regex, objectId, binary, uuid, function, javascript, symbol, minKey 또는 maxKey.

    • 제목 문자열

      사람이 읽을 수 있는 스키마 제목입니다.

    • 필수 array[string]

      object 스키마의 경우 객체 인스턴스에 필요한 필드 이름의 배열 .

    • 속성 객체

      각 필드 이름이 스키마 의 속성 객체 입니다. 해당 값은 해당 필드에 대한 스키마 정의입니다.

      속성 속성 숨기기 속성 속성 표시 객체
      • * 객체

        컬렉션의 유효한 스키마입니다.

  • 관계 객체

    외부 컬렉션과의 관계입니다. 각 필드 이름은 스키마의 속성입니다. 해당 값은 해당 필드에 대한 관계 정의입니다.

    관계 속성 숨기기 관계 속성 표시 객체
    • * 객체 additionalProperties

      관계 정의입니다.

      * 속성 숨기기 * 속성 표시 객체
      • ref 문자열

        외부 컬렉션 에 대한 참조 문자열입니다.

      • foreign_key 문자열

        관계 가 가리키는 외부 컬렉션 에 있는 필드 의 이름입니다.

      • is_list 부울

        true인 경우:

        • 관계 많은 외부 문서를 점 수 있습니다.
        • 로컬 필드 컬렉션 스키마 에서 배열 로 정의되어야 합니다.

응답

  • 200 application/json

    확인

    응답 속성 숨기기 응답 속성 표시 객체
    • _id 문자열 필수 사항
    • metadata 객체 필수 사항

      메타데이터는 스키마가 적용되는 연결된 컬렉션을 설명합니다.

      Hide metadata attributes 메타데이터 속성 표시 객체
      • data_source 문자열

        데이터 소스 이름입니다.

      • database 문자열

        데이터베이스 이름입니다.

      • 컬렉션 문자열

        컬렉션 이름입니다.

POST /groups/{groupId}/apps/{appId}/schemas
curl \
 --request POST 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/schemas' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"metadata":{"data_source":"string","database":"string","collection":"string"},"schema":{"bsonType":"object","title":"string","required":["string"],"properties":{"*":{}}},"relationships":{"additionalProperty1":{"ref":"string","foreign_key":"string","is_list":true},"additionalProperty2":{"ref":"string","foreign_key":"string","is_list":true}}}'
요청 예시
{
  "metadata": {
    "data_source": "string",
    "database": "string",
    "collection": "string"
  },
  "schema": {
    "bsonType": "object",
    "title": "string",
    "required": [
      "string"
    ],
    "properties": {
      "*": {}
    }
  },
  "relationships": {
    "additionalProperty1": {
      "ref": "string",
      "foreign_key": "string",
      "is_list": true
    },
    "additionalProperty2": {
      "ref": "string",
      "foreign_key": "string",
      "is_list": true
    }
  }
}
응답 예시(200)
{
  "_id": "string",
  "metadata": {
    "data_source": "string",
    "database": "string",
    "collection": "string"
  }
}