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

Editar esquema

Nesta página

  • Editar esquema usando a UI do Atlas
  • No Atlas, acesse sua instância de banco de dados federado para seu projeto.
  • Navegue até a página Gerenciar esquemas SQL.
  • Editar esquema.
  • Editar esquema usando mongosh
  • Sintaxe
  • Parâmetros
  • Saída
  • Exemplos
  • Definir exemplo de esquema
  • Excluir exemplo de esquema

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

1
  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 }

Voltar

Vista