Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

Assinatura do Índice Curinga

Nesta página

  • Exibição de assinatura de projeção
  • Exemplo
  • Saiba mais

A partir do MongoDB 5.0, a opção wildcardProjection para índices curinga está incluída na assinatura do índice. A assinatura do índice é a combinação de parâmetros que identificam exclusivamente o índice. Isso significa que você pode criar vários índices curinga com o mesmo padrão de chave , desde que as opções wildcardProjection não contenham os mesmos campos.

A partir do MongoDB 6.3, 6.0.5 e 5.0.16, o campo wildcardProjection armazena a projeção do índice na forma enviada. Versões anteriores do servidor podem ter armazenado a projeção de forma normalizada.

O servidor utiliza o índice da mesma maneira, mas você pode notar uma diferença na saída dos comandos listIndexes e db.collection.getIndexes() .

Considere o seguinte índice curinga em uma collection books :

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"author.name": 1,
"author.website": 1
},
name: "authorWildcard"
}
)

O padrão da chave do índice é "$**". Você pode criar outro índice curinga com o mesmo padrão de chave se especificar um wildcardProjection diferente. Por exemplo:

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"publisher.name": 1
},
name: "publisherWildcard"
}
)

Para visualizar os índices criados, execute o método getIndexes() :

db.books.getIndexes()

Saída:

[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{
v: 2,
key: { '$**': 1 },
name: 'authorWildcard',
wildcardProjection: { author: { website: true, name: true }, _id: false }
},
{
v: 2,
key: { '$**': 1 },
name: 'publisherWildcard',
wildcardProjection: { publisher: { name: true }, _id: false }
}
]
← Índices Curinga em Objetos e Matrizes Incorporados