Docs Menu
Docs Home
/
MongoDB Compass
/ /

スキーマのエクスポート

項目一覧

  • スキーマ オブジェクトのプロパティ
  • サンプル スキーマ

スキーマを分析した後、エクスポートすることができます。これは、スキーマを共有したり、コレクション間でスキーマを比較したりする場合に役立ちます。

まだ行っていない場合は、スキーマを分析します。

  1. 目的のコレクションを選択し、Schema タブをクリックします。

  2. [Analyze Schema] をクリックします。

注意

Compass がスキーマを分析すると、コレクションからドキュメントのランダムなサブセットをサンプリングします。サンプリングについて詳しくは、「サンプリング」を参照してください。

スキーマが分析されたら、エクスポートします。

  1. 上部のメニューバーで、Collection をクリックします。

  2. ドロップダウンから、Share Schema as JSON をクリックします。

コレクションのドロップダウンを示す画像

スキーマは JSON オブジェクトとしてクリップボードにコピーされます。

スキーマ オブジェクトには、count プロパティと fields プロパティがあります。

  • count は、スキーマを生成するためにコレクションからサンプリングされたドキュメントの数を表す整数です。

  • fields は、サンプリング中に分析されたドキュメントの各フィールドに対応するメタデータ オブジェクトの配列です。fields 配列の各要素には、次のフィールドが含まれています。

プロパティ
データ型
説明

name

文字列

対応するフィールドの名前。例: _id

path

文字列

ドキュメント内の対応するフィールドへのパス。

count

整数

対応するフィールドが表示されるドキュメントの数。

types

配列

対応するフィールドに表示される各データ型を表すメタデータ オブジェクトの配列。

types[n].name

文字列

このデータ型の名前。

types[n].bsonType

文字列

このデータ型の BSON タイプ。

types[n].path

文字列

ドキュメント内の対応するフィールドへのパス。

types[n].count

整数

このデータ型が対応するフィールドに表示される回数。

types[n].values

配列

対応するフィールドに表示され、このデータ型に一致する実際のサンプリング値の配列。

types[n].total_count

整数

対応するフィールドが配列の場合、その配列内の要素の数。

types[n].probability

番号

対応するフィールドの値がランダム ドキュメント内のこのデータ型である確率。

types[n].unique

整数

対応するフィールドに現れる、このデータ型のユニークな値の数。

types[n].has_duplicates

ブール値

true : このデータ型の単一の値が対応フィールドに複数回表示される場合。それ以外の場合は false

types[n].lengths

配列

このデータ型が配列の場合、対応するフィールドにある配列の長さを表す整数の配列。他のデータ型には表示されません。

types[n].average_length

番号

このデータ型が配列の場合、サンプリングされたドキュメント全体の対応するフィールドの配列の平均長。他のデータ型には表示されません。

total_count

整数

コレクションからサンプリングされたドキュメントの数。

type

文字列または配列

対応するフィールドに可能なタイプを表す文字列、または文字列の配列。

has_duplicates

ブール値

true : 単一の値が対応フィールドに複数回表示される場合。それ以外の場合は false

probability

番号

ランダムなドキュメントに、対応するフィールドが含まれている確率。

次の例では、それぞれ sport フィールドとそのスポーツに関する固有の情報を持つ 3 つのドキュメントのコレクションを使用します。

1[
2 {
3 "_id": { "$oid":"5e8359ba7782b98ba98c16fd" },
4 "sport": "Baseball",
5 "equipment": [ "bat", "baseball", "glove", "helmet" ]
6 },
7 {
8 "_id": { "$oid":"5e835a727782b98ba98c16fe" },
9 "sport": "Football",
10 "variants": {
11 "us":"Soccer",
12 "eu":"Football"
13 }
14 },
15 {
16 "_id": { "$oid":"5e835ade7782b98ba98c16ff" },
17 "sport": "Cricket",
18 "origin": "England"
19 }
20]

上記の例を MongoDB Compass にインポートして、スキーマ出力を試すことができます。サンプル コレクションを MongoDB Compass にインポートするには、次の手順を行います。

  1. Copy : 上記の JSON ドキュメントをコピーします。

  2. MongoDB Compass で、コピーしたドキュメントをインポートするコレクションを選択するか、新しいコレクションを作成します。Documents タブが表示されます。

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

  4. ドロップダウンから [Insert Document] を選択します。

  5. ダイアログの JSON ビューで、コピーしたドキュメントを貼り付けて Insert をクリックします。

上記の例では、次のスキーマが出力されます。

1{
2 "fields": [
3 {
4 "name": "_id",
5 "path": "_id",
6 "count": 3,
7 "types": [
8 {
9 "name": "ObjectID",
10 "bsonType": "ObjectID",
11 "path": "_id",
12 "count": 3,
13 "values": [
14 "5e8359ba7782b98ba98c16fd",
15 "5e835a727782b98ba98c16fe",
16 "5e835ade7782b98ba98c16ff"
17 ],
18 "total_count": 0,
19 "probability": 1,
20 "unique": 3,
21 "has_duplicates": false
22 }
23 ],
24 "total_count": 3,
25 "type": "ObjectID",
26 "has_duplicates": false,
27 "probability": 1
28 },
29 {
30 "name": "equipment",
31 "path": "equipment",
32 "count": 1,
33 "types": [
34 {
35 "name": "Undefined",
36 "type": "Undefined",
37 "path": "equipment",
38 "count": 2,
39 "total_count": 0,
40 "probability": 0.6666666666666666,
41 "unique": 1,
42 "has_duplicates": true
43 },
44 {
45 "name": "Array",
46 "bsonType": "Array",
47 "path": "equipment",
48 "count": 1,
49 "types": [
50 {
51 "name": "String",
52 "bsonType": "String",
53 "path": "equipment",
54 "count": 4,
55 "values": [
56 "bat",
57 "baseball",
58 "glove",
59 "helmet"
60 ],
61 "total_count": 0,
62 "probability": 1,
63 "unique": 4,
64 "has_duplicates": false
65 }
66 ],
67 "lengths": [
68 4
69 ],
70 "total_count": 4,
71 "probability": 0.3333333333333333,
72 "average_length": 4
73 }
74 ],
75 "total_count": 3,
76 "type": [
77 "Undefined",
78 "Array"
79 ],
80 "has_duplicates": true,
81 "probability": 0.3333333333333333
82 },
83 {
84 "name": "origin",
85 "path": "origin",
86 "count": 1,
87 "types": [
88 {
89 "name": "Undefined",
90 "type": "Undefined",
91 "path": "origin",
92 "count": 2,
93 "total_count": 0,
94 "probability": 0.6666666666666666,
95 "unique": 1,
96 "has_duplicates": true
97 },
98 {
99 "name": "String",
100 "bsonType": "String",
101 "path": "origin",
102 "count": 1,
103 "values": [
104 "England"
105 ],
106 "total_count": 0,
107 "probability": 0.3333333333333333,
108 "unique": 1,
109 "has_duplicates": false
110 }
111 ],
112 "total_count": 3,
113 "type": [
114 "Undefined",
115 "String"
116 ],
117 "has_duplicates": true,
118 "probability": 0.3333333333333333
119 },
120 {
121 "name": "sport",
122 "path": "sport",
123 "count": 3,
124 "types": [
125 {
126 "name": "String",
127 "bsonType": "String",
128 "path": "sport",
129 "count": 3,
130 "values": [
131 "Baseball",
132 "Football",
133 "Cricket"
134 ],
135 "total_count": 0,
136 "probability": 1,
137 "unique": 3,
138 "has_duplicates": false
139 }
140 ],
141 "total_count": 3,
142 "type": "String",
143 "has_duplicates": false,
144 "probability": 1
145 },
146 {
147 "name": "variants",
148 "path": "variants",
149 "count": 1,
150 "types": [
151 {
152 "name": "Undefined",
153 "type": "Undefined",
154 "path": "variants",
155 "count": 2,
156 "total_count": 0,
157 "probability": 0.6666666666666666,
158 "unique": 1,
159 "has_duplicates": true
160 },
161 {
162 "name": "Document",
163 "bsonType": "Document",
164 "path": "variants",
165 "count": 1,
166 "fields": [
167 {
168 "name": "eu",
169 "path": "variants.eu",
170 "count": 1,
171 "types": [
172 {
173 "name": "String",
174 "bsonType": "String",
175 "path": "variants.eu",
176 "count": 1,
177 "values": [
178 "Football"
179 ],
180 "total_count": 0,
181 "probability": 1,
182 "unique": 1,
183 "has_duplicates": false
184 }
185 ],
186 "total_count": 1,
187 "type": "String",
188 "has_duplicates": false,
189 "probability": 1
190 },
191 {
192 "name": "us",
193 "path": "variants.us",
194 "count": 1,
195 "types": [
196 {
197 "name": "String",
198 "bsonType": "String",
199 "path": "variants.us",
200 "count": 1,
201 "values": [
202 "Soccer"
203 ],
204 "total_count": 0,
205 "probability": 1,
206 "unique": 1,
207 "has_duplicates": false
208 }
209 ],
210 "total_count": 1,
211 "type": "String",
212 "has_duplicates": false,
213 "probability": 1
214 }
215 ],
216 "total_count": 0,
217 "probability": 0.3333333333333333
218 }
219 ],
220 "total_count": 3,
221 "type": [
222 "Undefined",
223 "Document"
224 ],
225 "has_duplicates": true,
226 "probability": 0.3333333333333333
227 }
228 ],
229 "count": 3
230}

戻る

データスキーマの分析