Menu Docs
Página inicial do Docs
/
Atlas
/ / /

Editar esquema

Para editar um esquema existente, use as etapas a seguir.

1

AVISO: Melhorias de navegação em andamento

No momento, estamos lançando uma experiência de navegação nova e aprimorada. Se as etapas a seguir não corresponderem à sua visualização na interface do usuário do Atlas , consulte a documentação de visualização.

  1. Se ainda não estiver exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Data Federation sob o título Services.

    A página Data Federation é exibida.

2

Na seção Federated Database Instances , clique em ícone à direita do esquema e selecione Manage SQL Schemas no menu suspenso.

3
  1. Ao lado de um esquema, clique em .

  2. Edite o JSON.

  3. Clique em Save.

O comando sqlSetSchema define ou exclui o esquema de uma coleção ou visualização. O comando usa o esquema fornecido para criar o esquema relacional. O comando não valida o esquema fornecido com o comando em relação aos dados da coleção.

db.getSiblingDB("<dbName>").runCommand({
sqlSetSchema: "<collection-name>|<view-name>",
schema: {
"version": 1,
"jsonSchema": <jsonSchema>
}
})
db.getSiblingDB("<dbName>").runCommand({
sqlSetSchema: "<collection-name>|<view-name>",
schema: {}
})
Parâmetro
Tipo
Descrição
necessidade

<collection-name>

string

Nome da collection para a qual definir o esquema. Você deve fornecer um nome de collection ou um nome de visualização.

Condicional

<view-name>

string

Nome da visualização para a qual definir o esquema. Você deve fornecer um nome de visualização ou um nome de collection.

Condicional

schema

documento

A versão do formato do esquema e:
  • oJSON schema para a collection ou visualização

  • um documento vazio para remover o esquema da coleção ou visualização.

Você pode fornecer um único documento ou uma array de documentos no campo items . Ao recuperar o esquema, items mostra o formulário que você usou para definir o esquema.

Obrigatório

O comando retornará a seguinte saída se for bem-sucedido.

{ "ok" : 1 }

Você pode verificar se o comando foi bem-sucedido executando o comando sqlGetSchema . O campo metadata.description na resposta contém o seguinte valor:

"set using sqlSetSchema"

Considere uma coleção denominada egData em um banco de dados denominada sampleDB com os seguintes 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}

Os exemplos abaixo usam o comando sqlSetSchema para configurar e remover o esquema para a collection acima.

O seguinte comando sqlSetSchema define o esquema para a collection 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" ]
}
}
}
}
}
}
}
}
}
}
}
})

O comando anterior retorna a seguinte saída.

{ "ok" : 1 }

O comando sqlSetSchema seguinte remove o esquema da collection egData .

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

O comando anterior retorna a seguinte saída.

{ "ok" : 1 }

Nesta página