放置错误的集合
描述
MisplacedCollection
表示存在一个未分片的集合位于错误的分片上,并且没有在
moveCollection
.新版本7.0.
更改版本8.0.
格式
{ type: "MisplacedCollection", description: "<string>", details: { namespace: "<string>", shard: "<string>", localUUID: UUID("<uuid>") } }
MisplacedCollection
不一致文档包含以下字段
字段 | 类型 | 描述 |
---|---|---|
类型 | 字符串 | 不一致文档的类型。对于此不一致类型,返回值为 |
描述 | 字符串 | 描述在元数据中找到的不一致性。 |
详细信息 | 文档 | 包含关于在数据库和分片集群中不一致存在的位置的额外信息的文档。 |
详细信息命名空间 | 字符串 | 指示不一致存在的数据库和集合。 |
详细信息分片 | 字符串 | 不一致存在的分片。 |
详细信息本地UUID | UUID | 错误放置的集合的本地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 }