Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

スキーマの編集

項目一覧

  • Atlas UI を使用したスキーマの編集
  • Atlasで、プロジェクトのフェデレーティッドデータベースインスタンスにGoします。
  • SQL スキーマの管理 ページに移動します。
  • スキーマを編集します。
  • を使用したスキーマの編集 mongosh
  • 構文
  • パラメーター
  • 出力
  • 設定スキーマの例
  • 削除スキーマの例

既存のスキーマを編集するには、次の手順に従います。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織を から選択します。ナビゲーション バーの [ Organizations ] メニューを参照してください。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Services見出しの下のData Federationをクリックします。

    Data Federationページが表示されます。

2

Federated Database Instancesセクションから、次をクリックします:スキーマの右側にある アイコンをクリックし、ドロップダウンからManage SQL Schemasを選択します。

3
  1. スキーマの横にある [] をクリックします。

  2. JSON を編集します。

  3. [Save] をクリックします。

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>

string

スキーマを設定するコレクションの名前。 コレクション名またはビュー名のいずれかを指定する必要があります。

条件付き

<view-name>

string

スキーマを設定するビューの名前。 ビュー名またはコレクション名のいずれかを指定する必要があります。

条件付き

schema

ドキュメント

スキーマの形式バージョンと次のいずれか
  • コレクションまたはビューの JSON schema

  • コレクションまたはビューのスキーマを削除するには、空のドキュメントを使用します。

itemsフィールドには単一のドキュメントまたはドキュメントの配列を指定できます。 スキーマを取得すると、 itemsにはスキーマの設定に使用したフォームが表示されます。

必須

コマンドは、成功した場合、次の出力を返します。

{ "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 }

戻る

ビュー