查看模式
使用 Atlas 用户界面查看模式
1
在 Atlas 中,转到项目的联合数据库实例。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Services 标题下的 Data Federation。
显示 Data Federation页面。
查看模式使用 mongosh
sqlGetSchema
命令可检索为指定集合或视图存储的模式。
语法
db.getSiblingDB("<dbName>").runCommand({ sqlGetSchema: "<collection-name>|<view-name>" })
参数
Parameter | 类型 | 说明 | 必要性 |
---|---|---|---|
| 字符串 | 要检索其模式的集合的名称。集合名称或视图名称是必填项。 | 可选的 |
| 字符串 | 要检索其模式的视图的名称。视图名称或集合名称是必填项。 | 可选的 |
输出
如果集合或视图没有模式,该命令将返回以下输出。
{ "ok" : 1, "metadata" : { }, "schema" : { } }
如果集合或视图有模式,该命令会返回类似以下内容的输出。
{ "ok": 1, "metadata": { "description": "<description>" }, "schema": { "version": NumberLong(1), "jsonSchema": {} } }
metadata.description
字段描述了如何为集合设置模式。值可以是以下任意选项:
set using sqlGenerateSchema with setSchemas = true
表示该模式设立 Create Schema using
mongosh
使用 {3 } 创建模式)命令设置,因为setSchema
选项设立为true
。
set using sqlSetSchema
表示模式是使用Edit Schema using
mongosh
命令设立的。
schema
文档包含以下字段:
Parameter | 类型 | 说明 |
---|---|---|
| 整型 | 模式的格式版本。值始终为 1。 |
| 文档 |
例子
考虑名为 sampleDB
的数据库中名为 egData
的集合,其中包含以下文档:
{"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}
以下命令可检索为 egData
集合存储的模式:
db.getSiblingDB("sampleDB").runCommand({ sqlGetSchema: "egData" })
上一个命令会返回以下输出。有关输出中字段的更多信息,请参阅输出。
{ "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" ] } } } } }