스키마 편집
이 페이지의 내용
Atlas UI 를 사용하여 스키마 편집
기존 스키마를 편집하려면 다음 단계를 따르세요.
Atlas에서 프로젝트의 연합 데이터베이스 인스턴스로 이동합니다.
아직 표시되지 않은 경우 다음에서 프로젝트가 포함된 조직을 선택합니다. Organizations 메뉴를 클릭합니다.
아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.
사이드바에서 Services 제목 아래의 Data Federation를 클릭합니다.
Data Federation 페이지가 표시됩니다.
다음을 사용하여 스키마 편집 mongosh
sqlSetSchema
명령은 컬렉션 또는 뷰의 스키마를 설정하거나 삭제합니다. 이 명령은 제공된 스키마를 사용하여 관계형 스키마를 생성합니다. 이 명령은 컬렉션의 데이터에 대해 명령과 함께 제공된 스키마의 유효성을 검사하지 않습니다.
구문
db.getSiblingDB("<dbName>").runCommand({ sqlSetSchema: "<collection-name>|<view-name>", schema: { "version": 1, "jsonSchema": <jsonSchema> } })
db.getSiblingDB("<dbName>").runCommand({ sqlSetSchema: "<collection-name>|<view-name>", schema: {} })
매개변수
Parameter | 유형 | 설명 | 필요성 |
---|---|---|---|
<collection-name> | 문자열 | 스키마 를 설정하다 컬렉션 의 이름입니다. 컬렉션 이름 또는 뷰 이름을 제공해야 합니다. | 조건부 |
<view-name> | 문자열 | 스키마 를 설정하다 뷰의 이름입니다. 뷰 이름 또는 컬렉션 이름을 제공해야 합니다. | 조건부 |
schema | 문서 |
| 필수 사항 |
출력
명령이 성공하면 다음과 같은 출력을 반환합니다.
{ "ok" : 1 }
sqlGetSchema
명령을 실행 하여 명령이 성공했는지 확인할 수 있습니다. 응답의 metadata.description
필드 에는 다음 값이 포함되어 있습니다.
"set using sqlSetSchema"
예시
다음 문서가 포함된 sampleDB
라는 데이터베이스에 있는 egData
컬렉션을 고려해 보세요.
{"a": {"b": {"c": [1, 2, 3]}}, "s": 1} {"a": {"b": {"c": [4, 5, 6]}}, "s": 2} {"a": {"b": [7, 8, 9]}, "s": 3} {"a": {"b": {"c": []}}, "s": 4} {"a": {"b": {"c": "hello"}}, "s": 5} {"a": {"b": {"c": {"d": 1}}}, "s": 6} {"a": {"b": {"c": null}}} {"s": 7}
아래 예시에서는 sqlSetSchema
명령을 사용하여 위 컬렉션에 대한 스키마를 설정하고 제거합니다.
스키마 설정 예시
다음 sqlSetSchema
명령은 egData
컬렉션의 스키마를 설정합니다.
db.getSiblingDB("sampleDB").runCommand({ sqlSetSchema : "egData", "schema" : { "version" : NumberLong(1), "jsonSchema" : { "bsonType" : [ "object" ], "properties" : { "a" : { "bsonType" : [ "object" ], "properties" : { "b" : { "bsonType" : [ "object", "array" ], "properties" : { "c" : { "bsonType" : [ "array", "string", "object", "null" ], "properties" : { "d" : { "bsonType" : [ "int" ] } }, "items" : { "bsonType" : [ "int" ] } } }, "items" : { "bsonType" : [ "int" ] } } } }, "s" : { "bsonType" : [ "int", "object" ], "properties" : { "b" : { "bsonType" : [ "object" ], "properties" : { "c" : { "bsonType" : [ "object" ], "properties" : { "d" : { "bsonType" : [ "array" ], "items" : { "bsonType" : [ "string" ] } } } } } } } } } } } })
이전 명령은 다음 출력을 반환합니다.
{ "ok" : 1 }
스키마 삭제 예시
다음 sqlSetSchema
명령은 egData
collection의 스키마를 제거합니다.
db.getSiblingDB("sampleDB").runCommand({ sqlSetSchema: "egData", schema: {} })
이전 명령은 다음 출력을 반환합니다.
{ "ok" : 1 }