Menu Docs
Página inicial do Docs
/
MongoDB Compass
/ /

Exportar Seu Esquema

Nesta página

  • Propriedades do objeto de esquema
  • Exemplo do esquema

Você pode exportar seu esquema depois de analisá-lo. Isso é útil para compartilhar seu esquema e comparar esquemas entre collections.

Se ainda não o fez, analise seu esquema:

  1. Selecione a collection desejada e clique na aba Schema.

  2. Clique em Analyze Schema.

Observação

Quando o Compass analisa seu esquema, ele coleta amostras de um subconjunto aleatório de documentos da sua coleção. Para saber mais sobre amostragem, consulte Amostragem

Depois que seu esquema for analisado, exporte-o:

  1. Na barra de menus superior, clique em Collection.

  2. Na lista suspensa, clique em Share Schema as JSON.

Imagem mostrando o menu suspenso Coleção

Seu esquema é copiado para a área de transferência como um objeto JSON .

Os objetos de esquema têm propriedades count e fields:

  • count é um número inteiro que representa o número de documentos amostrados da coleção para gerar o esquema.

  • fields é um array de objetos de metadados que correspondem a cada campo nos documentos analisados durante a amostragem. Cada elemento no array fields contém os seguintes campos:

Propriedade
Tipo de Dados
Descrição

name

String

Nome do campo correspondente, por exemplo _id.

path

String

Caminho para o campo correspondente dentro de um documento.

count

Inteiro

Número de documentos nos quais o campo correspondente é exibido.

types

Array

Array de objetos de metadados que representam cada tipo de dados que aparece no campo correspondente.

types[n].name

String

Nome deste tipo de dados.

types[n].bsonType

String

Tipo BSON deste tipo de dados.

types[n].path

String

Caminho para o campo correspondente dentro de um documento.

types[n].count

Inteiro

Número de vezes que este tipo de dados aparece no campo correspondente.

types[n].values

Array

Array dos valores reais da amostra que aparecem no campo correspondente e correspondem a esse tipo de dados.

types[n].total_count

Inteiro

Se o campo correspondente for um array, o número de elementos nesse array.

types[n].probability

Número

Probabilidade de que o valor do campo correspondente seja esse tipo de dados em um documento aleatório.

types[n].unique

Inteiro

Número de valores únicos deste tipo de dados que aparecem no campo correspondente.

types[n].has_duplicates

Boolean

true se um único valor deste tipo de dados aparecer várias vezes no campo correspondente. Caso contrário, false.

types[n].lengths

Array

Se esse tipo de dados for um array, um array de números inteiros que representam os comprimentos dos arrays encontradas no campo correspondente. Não presente para outros tipos de dados.

types[n].average_length

Número

Se esse tipo de dados for um array, o comprimento médio dos arrays no campo correspondente em documentos de amostra. Não presente para outros tipos de dados.

total_count

Inteiro

Número de documentos amostrados da collection.

type

String ou Array

String ou array de strings representando possíveis tipos para o campo correspondente.

has_duplicates

Boolean

true se um único valor aparecer várias vezes no campo correspondente. Caso contrário, false.

probability

Número

Probabilidade de que um documento aleatório contenha o campo correspondente.

O exemplo a seguir usa uma collection de 3 documentos, cada um com um campo sport e informações exclusivas sobre esse esporte:

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]

Você pode importar o exemplo acima para o MongoDB Compass para experimentar as saídas do esquema. Para importar a coleção de exemplo para o MongoDB Compass:

  1. Copy os documentos JSON acima.

  2. No MongoDB Compass, selecione uma coleção ou crie uma nova coleção para importar os documentos copiados. A aba Documents é exibida.

  3. Clique em Add Data.

  4. Selecione Insert Document no menu suspenso.

  5. Na visualização JSON da caixa de diálogo, cole os documentos copiados e clique em Insert.

O exemplo acima gera o seguinte esquema:

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}

Voltar

Analisar esquema de dados