Database Manual / Sharding / Reference / Inconsistency Types

TrackedUnshardedCollectionHasInvalidKey

Description描述

TrackedUnshardedCollectionHasInvalidKey

An unsharded collection has an invalid shard key.

New in version 8.0.在版本8.0中新增。

Format格式

{
type: "TrackedUnshardedCollectionHasInvalidKey",
description: "<string>",
details: {
namespace: "<string>",
uuid: UUID("<uuid>"),
shardKey: <document>
}
}

TrackedUnshardedCollectionHasInvalidKey inconsistency documents contain these fields:不一致文档包含以下字段:

Field字段Type类型Description描述
typestring字符串Type of inconsistency document. Returns a value of TrackedUnshardedCollectionHasInvalidKey for this inconsistency type.不一致文档的类型。为此不一致类型返回TrackedUnhardedCollectionHasInvalidKey的值。
descriptionstring字符串Describes the inconsistency found in the metadata.描述元数据中发现的不一致。
detailsdocument文档Document with additional information on where the inconsistency exists in the database and sharded cluster.包含数据库和分片集群中不一致位置的附加信息的文档。
details.namespacestring字符串Indicates the database and collection where the inconsistency exists.指示存在不一致的数据库和集合。
details.uuidUUIDUUID of the collection registered on the sharding catalog.在分片目录上注册的集合的UUID。
details.shardKeydocument文档Collection shard key pattern.集合分片键模式。

Example示例

Use the db.adminCommand() method to call the checkMetadataConsistency command:使用db.adminCommand()方法调用checkMetadataConsistency命令:

db.adminCommand( { checkMetadataConsistency: 1 } )

The method returns a cursor with a batch of documents showing the inconsistencies found in the sharding metadata. The example below shows a cursor with a TrackedUnshardedCollectionHasInvalidKey inconsistency document:该方法返回一个游标,其中包含一批文档,显示分片元数据中发现的不一致。下面的示例显示了一个带有TrackedUnhardedCollectionHasInvalidKey不一致文档的游标:

{
cursor: {
id: Long("0"),
ns: "test.$cmd.aggregate",
firstBatch: [
{
type: "TrackedUnshardedCollectionHasInvalidKey",
description: "Found tracked unsharded collection with invalid shard-key",
details: {
namespace: "test.authors",
uuid: UUID("ebfba414-b576-4f77-bb0e-0d56f3a53c55"),
shardKey: { "name": 1 }
}
}
],
},
ok: 1
}