导出模式
可以在分析后导出模式。这对于共享模式和跨集合比较模式很有用。
开始之前
如果还没有这样做,请先分析模式:
分析模式。
单击 Analyze Schema(连接)。
当 Compass 分析您的模式时,它会从您的集合中随机抽取文档子集进行采样。要了解有关采样的更多信息,请参阅采样。
分析模式后,使用以下过程导出模式。
步骤
标准格式模式对象属性
标准格式模式对象包含以下字段:
属性 | 数据类型 | 说明 |
---|---|---|
| 字符串或大量 | 此数据类型的JSON类型。有关详细信息,请参阅类型的官方JSON文档。 |
| 字符串数组 | 必须出现在模式中的字段。有关详细信息,请参阅所需的官方JSON文档。 |
| 对象 | 每个字段的属性。键是属性名称,值是子模式。有关详细信息,请参阅 properties 的官方JSON文档。 |
| 文档 | 有关大量字段中元素的元数据。元数据显示为嵌入式子模式。有关详细信息,请参阅 items 的官方JSON文档。 |
这并不是所有可能字段的详尽列表。有关其他字段的详细信息,请参阅官方JSON schema 规范。
MongoDB格式模式对象属性
MongoDB格式模式对象包含以下字段:
属性 | 数据类型 | 说明 |
---|---|---|
| 字符串或字符串数组 | 该字段的BSON类型。 |
| 字符串数组 | 必须出现在模式中的字段。 |
| 文档 | 每个字段的属性。键是属性名称,值是子模式。 |
| 文档 | 有关大量字段中元素的元数据。元数据显示为嵌入式子模式。 |
这并不是所有可能字段的详尽列表。有关其他字段的详细信息,请参阅官方JSON schema 规范。
扩展格式模式对象属性
除了标准模式字段之外,扩展格式模式对象还包含以下字段:
属性 | 数据类型 | 说明 |
---|---|---|
| 字符串或大量 | 该字段的BSON类型。 |
| 文档 | 包含字段元数据的文档。 |
| 布尔 | 如果同一个值在此字段中出现多次,则为 |
| float | 该字段存在于随机文档中的概率。 |
| 整型 | 示例中具有此字段的文档数量。 |
| 阵列 | 以扩展JSON形式对值进行采样。示例值仅限于前 100 个字符。 |
这并不是所有可能字段的详尽列表。有关其他字段的详细信息,请参阅官方JSON schema 规范。
限制
Compass无法导出具有超过 1000 个不同字段的模式。如果您尝试导出包含超过 1000 个不同字段的模式, Compass将返回错误。
示例模式
以下示例使用 3 文档集合,每个文档都有一个 title
字段和有关该电影的唯一信息:
1 [ 2 { 3 "_id": { "$oid": "573a1390f29313caabcd6223" }, 4 "title": "The Poor Little Rich Girl", 5 "plot": "Gwen's family is rich, but her parents ignore her and most of the serv...", 6 "year": 1917, 7 }, 8 { 9 "_id": { "$oid": "573a1391f29313caabcd7616" }, 10 "title": "Salomè", 11 "plot": "Salome, the daughter of Herodias, seduces her step-father/uncle Herod, ...", 12 "year": 1922, 13 "genres": [ "drama", "horror" ] 14 }, 15 { 16 "_id": { "$oid": "573a1392f29313caabcd9c1b" }, 17 "title": "Payment Deferred", 18 "year": 1932, 19 }, 20 ]
您可以将以上示例导入 MongoDB Compass 来试验模式输出。要将示例集合导入 MongoDB Compass:
将JSON文档复制到剪贴板。
复制上述JSON文档。
上面的示例输出以下模式: