Docs Menu
Docs Home
/ /
/ / /

Exportar su esquema

Puede exportar su esquema después de analizarlo. Esto resulta útil para compartirlo y comparar esquemas entre colecciones.

Si aún no lo has hecho, analiza tu esquema:

1

Seleccione la colección deseada y haga clic en el Schema tab.

2

Haga clic en Analyze Schema.

Cuando Compass analiza su esquema, muestrea un subconjunto aleatorio de documentos de su colección. Para obtener más información sobre el muestreo, consulte Muestreo.

Una vez analizado su esquema, utilice el siguiente procedimiento para exportarlo.

1
Imagen que muestra el botón Exportar esquema

El botón Export Schema aparece en la esquina superior izquierda de la ventana de visualización.

2

En el modal Export JSON Schema, seleccione el formato al que desea exportar.

Export JSON Schema modal
haga clic para ampliar

Puede exportar su esquema a los siguientes formatos:

  • Formato estándar

  • Formato MongoDB

  • Formatoampliado

3

Seleccione la ubicación en su sistema de archivos donde guardará su esquema.

Los objetos de esquema de formato estándar contienen los siguientes campos:

Propiedad
Tipo de datos
Descripción

type

cadena o matriz

required

matriz de cadenas

Campos que deben aparecer en el esquema. Para más información,consulte la documentación oficial de JSON para conocer los campos obligatorios.

properties

Objeto

Propiedades de cada campo. Las claves son nombres de propiedades y los valores son subesquemas. Para más información, consulte la documentación JSON oficial de propiedades.

items

Documento

Metadatos sobre elementos en campos de matriz. Los metadatos aparecen como subesquemas incrustados. Para más información, consulte la documentación JSON oficial de los elementos.

Esta no es una lista exhaustiva de todos los campos posibles. Para obtener más información sobre campos adicionales, consulte la especificación oficial del esquema JSON.

Los objetos de esquema de formato MongoDB contienen los siguientes campos:

Propiedad
Tipo de datos
Descripción

bsonType

cadena o matriz de cadenas

TipoBSON de este campo.

required

matriz de cadenas

Campos que deben aparecer en el esquema.

properties

Documento

Propiedades de cada campo. Las claves son nombres de propiedades y los valores son subesquemas.

items

Documento

Metadatos sobre elementos en campos de matriz. Los metadatos aparecen como subesquemas incrustados.

Esta no es una lista exhaustiva de todos los campos posibles. Para obtener más información sobre campos adicionales, consulte la especificación oficial del esquema JSON.

Los objetos de esquema de formato expandido contienen estos campos además de los campos del esquema estándar:

Propiedad
Tipo de datos
Descripción

x-bsonType

cadena o matriz

TipoBSON de este campo.

x-metadata

Documento

Documento que contiene metadatos sobre el campo.

hasDuplicates

booleano

true Si un mismo valor aparece varias veces en este campo. De lo contrario, false.

probability

float

Probabilidad de que el campo exista en un documento aleatorio.

count

entero

Número de documentos de la muestra que tienen este campo.

x-sampleValues

arreglo

Valores de muestra como JSON expandido. Los valores de muestra se limitan a los primeros 100 caracteres.

Esta no es una lista exhaustiva de todos los campos posibles. Para obtener más información sobre campos adicionales, consulte la especificación oficial del esquema JSON.

Compass no puede exportar un esquema con más de 1000 campos distintos. Si intenta exportar un esquema con más de 1000 campos distintos, Compass devuelve un error.

El siguiente ejemplo utiliza una colección de 3 documentos, cada uno con un campo title e información única sobre esa película:

1[
2 {
3 "_id": { "$oid": "573a1390f29313caabcd6223" },
4 "title": "The Poor Little Rich Girl",
5 "plot": "Gwen's family is rich, but her parents ignore her and most of the serv...",
6 "year": 1917,
7 },
8 {
9 "_id": { "$oid": "573a1391f29313caabcd7616" },
10 "title": "Salomè",
11 "plot": "Salome, the daughter of Herodias, seduces her step-father/uncle Herod, ...",
12 "year": 1922,
13 "genres": [ "drama", "horror" ]
14 },
15 {
16 "_id": { "$oid": "573a1392f29313caabcd9c1b" },
17 "title": "Payment Deferred",
18 "year": 1932,
19 },
20]

Puede importar el ejemplo anterior a MongoDB Compass para experimentar con las salidas del esquema. Para importar la colección de ejemplos a MongoDB Compass:

1

Copie los documentos JSON anteriores.

2

En MongoDB Compass, seleccione una colección o cree una nueva para importar los documentos copiados. Se mostrará la pestaña Documents.

3
4
5

En la vista JSON del cuadro de diálogo, pegue los documentos copiados y haga clic en Insert.

El ejemplo anterior muestra el siguiente esquema:

1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
4 "required": [
5 "_id",
6 "title",
7 "year"
8 ],
9 "properties": {
10 "_id": {
11 "$ref": "#/$defs/ObjectId"
12 },
13 "genres": {
14 "type": "array",
15 "items": {
16 "type": "string"
17 }
18 },
19 "plot": {
20 "type": "string"
21 },
22 "title": {
23 "type": "string"
24 },
25 "year": {
26 "type": "integer"
27 }
28 },
29 "$defs": {
30 "ObjectId": {
31 "type": "object",
32 "properties": {
33 "$oid": {
34 "type": "string",
35 "pattern": "^[0-9a-fA-F]{24}$"
36 }
37 },
38 "required": [
39 "$oid"
40 ],
41 "additionalProperties": false
42 }
43 }
44}
1{
2 "$jsonSchema": {
3 "bsonType": "object",
4 "required": [
5 "_id",
6 "title",
7 "year"
8 ],
9 "properties": {
10 "_id": {
11 "bsonType": "objectId"
12 },
13 "genres": {
14 "bsonType": "array",
15 "items": {
16 "bsonType": "string"
17 }
18 },
19 "plot": {
20 "bsonType": "string"
21 },
22 "title": {
23 "bsonType": "string"
24 },
25 "year": {
26 "bsonType": "int"
27 }
28 }
29 }
30}

Los valores de muestra están limitados a los primeros 100 caracteres.

1{
2 "type": "object",
3 "x-bsonType": "object",
4 "required": [
5 "_id",
6 "title",
7 "year"
8 ],
9 "properties": {
10 "_id": {
11 "$ref": "#/$defs/ObjectId",
12 "x-bsonType": "objectId",
13 "x-metadata": {
14 "hasDuplicates": false,
15 "probability": 1,
16 "count": 3
17 },
18 "x-sampleValues": [
19 "573a1391f29313caabcd7616",
20 "573a1392f29313caabcd9c1b",
21 "573a1390f29313caabcd6223"
22 ]
23 },
24 "genres": {
25 "type": "array",
26 "x-bsonType": "array",
27 "x-metadata": {
28 "hasDuplicates": true,
29 "probability": 0.3333333333333333,
30 "count": 1
31 },
32 "items": {
33 "type": "string",
34 "x-bsonType": "string",
35 "x-metadata": {
36 "hasDuplicates": false,
37 "probability": 1,
38 "count": 2
39 },
40 "x-sampleValues": [
41 "drama",
42 "horror"
43 ]
44 }
45 },
46 "plot": {
47 "type": "string",
48 "x-bsonType": "string",
49 "x-metadata": {
50 "hasDuplicates": false,
51 "probability": 0.6666666666666666,
52 "count": 2
53 },
54 "x-sampleValues": [
55 "Salome, the daughter of Herodias, seduces her step-father/uncle Herod, ...",
56 "Gwen's family is rich, but her parents ignore her and most of the serv..."
57 ]
58 },
59 "title": {
60 "type": "string",
61 "x-bsonType": "string",
62 "x-metadata": {
63 "hasDuplicates": false,
64 "probability": 1,
65 "count": 3
66 },
67 "x-sampleValues": [
68 "Salomè",
69 "Payment Deferred",
70 "The Poor Little Rich Girl"
71 ]
72 },
73 "year": {
74 "type": "integer",
75 "x-bsonType": "int",
76 "x-metadata": {
77 "hasDuplicates": false,
78 "probability": 1,
79 "count": 3
80 },
81 "x-sampleValues": [
82 1922,
83 1932,
84 1917
85 ]
86 }
87 },
88 "$defs": {
89 "ObjectId": {
90 "type": "object",
91 "properties": {
92 "$oid": {
93 "type": "string",
94 "pattern": "^[0-9a-fA-F]{24}$"
95 }
96 },
97 "required": [
98 "$oid"
99 ],
100 "additionalProperties": false
101 }
102 }
103}

Volver

Analizar el esquema de datos

En esta página