Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Exporta tu esquema

Puedes exportar tu esquema después de analizarlo. Esto es útil para el uso compartido de tu esquema y comparar esquemas entre colecciones.

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

1

Selecciona tu colección deseada y haz clic en el Schema tab.

2

Haga clic en Analyze Schema.

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

Una vez que se haya analizado el esquema, use el siguiente procedimiento para exportar su esquema.

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 la ventana emergente Export JSON Schema, selecciona el formato al que quieres exportar.

Export JSON Schema modal
haga clic para ampliar

Puedes exportar tu esquema a los siguientes formatos:

  • Formato estándar

  • Formato MongoDB

  • Expanded formato

3

Selecciona la ubicación en tu sistema de archivos para guardar tu esquema.

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

Propiedad
Tipo de dato
Descripción

type

string o arreglo

required

Arreglo de cadenas

Campos que deben aparecer en el esquema. Para obtener más información, consulta la documentación oficial de JSON para requerido.

properties

Objeto

Propiedades para cada campo. Las claves son nombres de propiedad y los valores son subesquemas. Para obtener más detalles, consulta la documentación oficial de JSON sobre 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 dato
Descripción

bsonType

string o arreglo de strings

BSON tipo de este campo.

required

Arreglo de cadenas

Campos que deben figurar en el esquema.

properties

Documento

Propiedades para cada campo. Las llaves son nombres de propiedad y los valores son subesquemas.

items

Documento

Metadatos sobre elementos en los campos de arreglo. Los metadatos aparecen como subesquemas embebidos.

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 dato
Descripción

x-bsonType

string o arreglo

BSON tipo de este campo.

x-metadata

Documento

Documento que contiene metadatos sobre el campo.

hasDuplicates

booleano

true si un solo 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 que tenga más de 1000 campos distintos. Si intentas 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, selecciona una colección o crea una nueva colección a la que importar los documentos copiados. Se muestra 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