Página inicial do Docs → Iniciar e gerenciar o MongoDB → MongoDB Atlas
sqlSetSchema
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.
Sintaxe
Parâmetros
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çãoVocê pode fornecer um único documento ou uma array de documentos no campo | Obrigatório |
Saída
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"
Exemplos
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.
Definir exemplo de esquema
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 }
Excluir exemplo de esquema
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 }