Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBMongoDB Atlas

sqlSetSchema

Nesta página

  • Sintaxe
  • Parâmetros
  • Saída
  • Exemplos
  • Definir exemplo de esquema
  • Excluir exemplo de esquema

O comando sqlSetSchema define ou exclui o esquema de uma coleção ou visualização. O comando utiliza 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 collection.

Parâmetro
Tipo
Descrição
necessidade
<collection-name>
string
Nome da collection para a qual definir o esquema. O nome da collection ou o nome da visualização são obrigatórios.
Condicional
<view-name>
string
Nome da visualização para a qual definir o esquema. O nome da visualização ou o nome da collection são obrigatórios.
Condicional
schema
documento

A versão de formato do esquema e oJSON schema para definir o esquema para a collection ou visualização ou um documento vazio para remover o esquema para a collection ou visualização.

Observaçã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 o comando for bem-sucedido.

{ "ok" : 1 }

Você pode verificar se o comando foi bem-sucedido executando o comando sqlGetSchema . O sqlGetSchema comando metadata.description deve conter 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.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.runCommand({
sqlSetSchema: "egData",
schema: {}
})

O comando anterior retorna a seguinte saída.

{ "ok" : 1 }
← sqlGenerateSchema