Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

$listClusterCatalog

$listClusterCatalog

Novidades na versão 8.0.10.

Aviso

O estágio de agregação $listClusterCatalog não é suportado e não é garantido que seja estável em uma versão futura. Não crie uma funcionalidade que dependa de um formato de saída específico desse estágio, pois a saída pode mudar em uma versão futura.

O estágio de agregação do $listClusterCatalog gera informações para coleções em um cluster, incluindo nomes e opções de criação.

$listClusterCatalog deve ser o primeiro estágio do pipeline.

Você deve chamar esse estágio de um banco de dados. Quando você executa esse estágio no banco de dados admin, ele retorna informações sobre todas as collections no cluster. Quando você o executa em qualquer outro banco de dados, ele retorna informações sobre todas as collections dentro desse banco de dados.

O estágio tem a seguinte sintaxe:

{
$listClusterCatalog: {
shards: true,
balancingConfiguration: true
}
}

O estágio $listClusterCatalog recebe um documento com os seguintes campos opcionais:

Campo
Descrição

shards

Opcional. Você pode especificar shards: true ao chamar $listClusterCatalog para que o estágio inclua uma lista de fragmentos em seu documento de retorno.

balancingConfiguration

Opcional. Se você especificar balancingConfiguration: true ao chamar $listClusterCatalog, o estágio incluirá os campos balancingEnabled, balancingEnabledReason, autoMergingEnabled e chunkSize em seu objeto de retorno.

$listClusterCatalog retorna um documento por coleção. Cada documento pode conter os seguintes campos:

{
"ns" : <string>,
"db" : <string>,
"type" : <string>,
"idIndex" : <document>,
"options" : <document>,
"info" : <document>,
"sharded" : <boolean>,
"shardKey" : <document>,
"shards" : [<string>],
"balancingEnabled" : <boolean>,
"balancingEnabledReason" : <document>,
"autoMergingEnabled" : <boolean>,
"chunkSize" : <int>
}

A tabela a seguir contém informações sobre os campos que $listClusterCatalog retorna:

Campo
Tipo
Retornado com query padrão
Descrição

ns

string

true

O namespace completo da coleção, no formato "<dbName>.<collectionName>".

db

string

true

Nome do banco de dados onde a collection está localizada.

type

string

true

Type of data store. Returns collection for collections, view for views, and timeseries for time series collection.

idIndex

documento

true

Fornece informações sobre o índice _id para a collection. Idêntico ao campo idIndex retornado em listCollections. Este campo não está presente para visualizações ou coleções de séries temporais.

options

documento

true

O documento devolvido contém os seguintes campos:

  • viewOn: documento. O nome da coleção de origem ou visualização a partir da qual criar uma visualização. Presente apenas em visualizações.

  • pipeline: array de documentos. Consiste nos estágios do pipeline de agregação . Presente apenas em visualizações.

  • validator: documento. Retorna as regras ou expressões do validador.

  • timeseries: documento. Retorna opções de séries temporais. Presente somente em buckets de séries temporais e visualizações de séries temporais.

  • clusteredIndex: array de documentos. Representa os índices clusterizados.

Essas opções correspondem diretamente às opções disponíveis no db.createCollection(). Para obter mais informações, consulte Sintaxe.

info

documento

true

Lista os seguintes campos relacionados à collection:

  • readOnly: boolean. Se true o armazenamento de dados for somente leitura. Sempre true para visualizações.

  • uuid: UUID. Once established, the collection UUID does not change. The collection UUID remains the same across replica set members and shards in a sharded cluster. This field is not present for views or timeseries views.

sharded

booleano

true

Especifica se a collection é fragmentada ou não. Este campo também está presente em servidores do conjunto de réplicas.

shardKey

documento

presente apenas se a collection for fragmentada

A chave de fragmento da coleção.

shards

array de strings

false, must specify shards in input document

Fragmentos por coleção.

balancingEnabled

booleano

false, must specify balancingConfiguration in input document

Especifica se o balanceamento está habilitado para essa collection. Este campo só estará presente se a collection estiver fragmentada.

balancingEnabledReason

documento

false, must specify balancingConfiguration in input document

Retorna informações sobre qual comando foi usado para alternar o balanceamento. Este documento tem os seguintes campos:

Este campo só estará presente se a collection estiver fragmentada.

autoMergingEnabled

booleano

false, must specify balancingConfiguration in input document

Especifica se o AutoMerger está habilitado para a coleção. Este campo só estará presente se a collection estiver fragmentada.

chunkSize

int

false, must specify balancingConfiguration in input document

Retorna o tamanho do chunk, em MiB, da collection. Este campo só estará presente se a collection estiver fragmentada.

Se você executar este comando no banco de dados admin, precisará da ação de privilégio listClusterCatalog, que está incluída na função clusterMonitor.

Para executar esse comando em um banco de dados específico, você precisa da ação de privilégio listCollections, que está incluída na função read.

O exemplo seguinte retorna informações padrão de todas as coleções no banco de dados do sample_mflix :

use sample_mflix
db.aggregate([
{
$listClusterCatalog: {}
}
])

Quando você executa este exemplo, ele retorna uma array contendo um documento para cada coleção no banco de dados do sample_mflix. Cada um desses documentos contém os campos padrão descritos na tabela anterior:

[
{
ns: "sample_mflix.movies",
db: "sample_mflix",
type: "collection",
idIndex: { v: 2, key: { _id: 1 }, name: '_id' },
options: { ... },
sharded: false,
info: {
readOnly: false,
uuid: new UUID("6c46c8b9-4999-4213-bcef-9a36b0cff228")
}
},
{
ns: "sample_mflix.comments",
db: "sample_mflix",
type: "collection",
options: { ... },
sharded: true,
info: {
readOnly: true,
uuid: new UUID("6c448eb9-4090-4213-bbaf-9a36bb7fc98e")
}
shardKey: { _id: 1}
},
...
]

Você pode retornar os campos e informações padrão sobre a configuração de balanceamento de todas as collections em um banco de dados com collections fragmentadas.

O exemplo a seguir retorna configurações de balanceamento para o banco de dados sample_mflix :

use sample_mflix
db.aggregate([
{
$listClusterCatalog: {
balancingConfiguration: true
}
}
])

O exemplo anterior retorna uma array contendo um documento para cada coleção. Cada um desses documentos contém os campos padrão junto com os campos balancingEnabled, balancingEnabledReason, autoMergingEnabled e chunkSize para collections fragmentadas. O seguinte código fornece um exemplo desta saída:

[
{
ns: "sample_mflix.movies",
db: "sample_mflix",
type: "collection",
idIndex: { v: 2, key: { _id: 1 }, name: '_id' },
options: { ... },
sharded: false,
...
},
{
ns: "sample_mflix.comments",
db: "sample_mflix",
type: "collection",
sharded: true,
shardKey: { _id: 1},
balancingEnabled: true,
balancingEnabledReason: {
enableBalancing: true,
allowMigrations: false
},
autoMergingEnabled: false,
chunkSize: 256,
...
},
...
]