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

Editar esquema

Para editar un esquema existente, utiliza los siguientes pasos.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto en la Organizations menú en la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Federation en la sección Services.

La Se muestra la página Data Federation.

2

Desde la sección Federated Database Instances, haz clic en el icono a la derecha del esquema, y luego selecciona Manage SQL Schemas del menú desplegable.

3
  1. Haz clic junto a un esquema en el .

  2. Edita el JSON.

  3. Haga clic en Save.

El comando sqlSetSchema establece o elimina el esquema de una colección o vista. El comando utiliza el esquema proporcionado para crear el esquema relacional. El comando no valida el esquema proporcionado con el comando contra los datos en la colección.

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
Tipo
Descripción
Necesidad

<collection-name>

string

Nombre de la colección para la que se establecerá el esquema. Debe proporcionar un nombre de colección o de vista.

Condicional

<view-name>

string

Nombre de la vista para la cual se debe establecer el esquema. Debe proporcionar un nombre de vista o un nombre de colección.

Condicional

schema

Documento

La versión de formato del esquema y una de las siguientes:
  • el JSON esquema para la colección o vista

  • un documento vacío para remover el esquema de la colección o vista.

Puede proporcionar un solo documento o un arreglo de documentos en el campo items. Cuando recuperes el esquema, items muestra el formulario que usaste para establecer el esquema.

Requerido

El comando devuelve la siguiente salida si se tiene éxito.

{ "ok" : 1 }

Puede verificar que el comando se ejecutó correctamente ejecutando el comando sqlGetSchema. El campo metadata.description de la respuesta contiene el siguiente valor:

"set using sqlSetSchema"

Considera una colección llamada egData en una base de datos llamada sampleDB con los siguientes documentos:

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

Los ejemplos a continuación usan el comando sqlSetSchema para establecer y remover esquemas para la colección anterior.

El siguiente comando sqlSetSchema establece el esquema para la colección 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" ]
}
}
}
}
}
}
}
}
}
}
}
})

El comando anterior produce la siguiente salida.

{ "ok" : 1 }

El siguiente comando sqlSetSchema elimina el esquema de la colección egData.

db.getSiblingDB("sampleDB").runCommand({
sqlSetSchema: "egData",
schema: {}
})

El comando anterior produce la siguiente salida.

{ "ok" : 1 }

En esta página