MisplacedCollection
说明
MisplacedCollection
表示错误的分片片上存在未分片的集合,并且未使用
moveCollection
移动。7.0 版本中的新增功能。
在版本8.0中进行了更改。
format
{ type: "MisplacedCollection", description: "<string>", details: { namespace: "<string>", shard: "<string>", localUUID: UUID("<uuid>") } }
MisplacedCollection
不一致文档包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
type | 字符串 | 不一致文档的类型。 为此不一致类型返回值 |
description | 字符串 | 描述在元数据中发现的不一致之处。 |
details | 文档 | 包含有关数据库和分片集群中哪些位置存在不一致的附加信息的文档。 |
details.namespace | 字符串 | 指示存在不一致的数据库和collection。 |
details.shard | 字符串 | 存在不一致的分片。 |
details.localUUID | UUID | 放错位置的collection的本地 UUID。 |
例子
使用db.adminCommand()
方法调用checkMetadataConsistency
命令:
db.adminCommand( { checkMetadataConsistency: 1 } )
该方法返回一个游标,其中包含一批文档,显示分片元数据中发现的不一致。 以下示例显示了带有MisplacedCollection
不一致文档的游标:
{ cursor: { id: Long("0"), ns: "test.$cmd.aggregate", firstBatch: [ { type: "MisplacedCollection", description: "Found unsharded collection without the appropriate metadata on a shard different from the database primary shard", details: { namespace: "test.authors", shard: "shard02", localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4") } } ], }, ok: 1 }