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.

El Se muestra lapágina Federación de datos.

2

Desde la Federated Database Instances sección, haga clic en el ícono a la derecha del esquema y luego seleccione Manage SQL Schemas en el menú desplegable.

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

  2. Editar 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. No valida el esquema proporcionado con los datos de 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 que se establecerá el esquema. Debe proporcionar un nombre de vista o de colección.

Condicional

schema

Documento

La versión de formato del esquema y:
  • el EsquemaJSON para la colección o vista

  • un documento vacío para eliminar 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"

Considere 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 utilizan el comando sqlSetSchema para establecer y eliminar el esquema 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