Docs Home → Launch & Manage MongoDB → MongoDB Atlas
View Schema
On this page
View Schema Using the Atlas UI
In Atlas, go to the Clusters page for your project.
If it is not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.
If it is not already displayed, select your desired project from the Projects menu in the navigation bar.
If the Clusters page is not already displayed, click Database in the sidebar.
View Schema Using the Atlas CLI
The sqlGetSchema
command retrieves the schema stored for
the specified collection or view.
Syntax
db.runCommand({ sqlGetSchema: "<collection-name>|<view-name>" })
Parameters
Parameter | Type | Description | Necessity |
---|---|---|---|
<collection-name> | string | Name of the collection for which to retrieve the schema.
Either the collection name or view name is required. | Conditional |
<view-name> | string | Name of the view for which to retrieve the schema. Either
the view name or collection name is required. | Conditional |
Output
The command returns the following output if the collection or view does not have a schema.
{ "ok" : 1, "metadata" : { }, "schema" : { } }
The command returns output similar to the following if the collection or view has a schema.
{ "ok": 1, "metadata": { "description": "<description>" }, "schema": { "version": NumberLong(1), "jsonSchema": {} } }
The metadata.description
field describes how the schema was set
for the collection. Value can be one of the following:
generated automatically by Atlas Data Federation
Indicates that the schema was automatically generated by Atlas Data Federation.
set using sqlGenerateSchema with setSchemas = true
Indicates that the schema was set by the Create Schema Using the Atlas CLI command because the
setSchema
option was set totrue
.
set using sqlSetSchema
Indicates that the schema was set using the Edit Schema Using the Atlas CLI command.
The schema
document contains the following fields:
Parameter | Type | Description |
---|---|---|
schema.version | integer | Format version of the schema. Value is always 1. |
schema.jsonSchema | document | JSON schema of the collection or view. The JSON schema can contain the following fields :
To learn more about these fields, see JSON Schema Keywords. |
Example
Consider a collection named egData
in a database named
sampleDB
with the following documents:
{"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}
The following command retrieves the schema stored for the egData
collection:
db.runCommand({ sqlGetSchema: "egData" })
The previous command returns the following output. For more information on the fields in the output, see Output.
{ "ok" : 1, "metadata" : { "description" : "set using sqlGenerateSchema with setSchemas = true" }, "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" ] } } } } }