スキーマの編集
項目一覧
Atlas UI を使用したスキーマの編集
既存のスキーマを編集するには、次の手順に従います。
Atlasで、プロジェクトのフェデレーティッドデータベースインスタンスにGoします。
まだ表示されていない場合は、プロジェクトを含む組織を から選択します。ナビゲーション バーの [ 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 | タイプ | 説明 | 必要性 |
---|---|---|---|
| string | スキーマを設定するコレクションの名前。 コレクション名またはビュー名のいずれかを指定する必要があります。 | 条件付き |
| string | スキーマを設定するビューの名前。 ビュー名またはコレクション名のいずれかを指定する必要があります。 | 条件付き |
| ドキュメント |
| 必須 |
出力
コマンドは、成功した場合、次の出力を返します。
{ "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
コレクションのスキーマを削除します。
db.getSiblingDB("sampleDB").runCommand({ sqlSetSchema: "egData", schema: {} })
上記のコマンドは、次の出力を返します。
{ "ok" : 1 }