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

Multikey Indexes

Índices multichave são índices que melhoram o desempenho de queries em campos com valor de array. Você pode definir um índice de múltiplas chaves utilizando a mesma sintaxe de um único campo ou índice composto.

Os exemplos neste guia usam a coleção movies no banco de dados sample_mflix dos conjuntos de dados de amostra do Atlas. Para aprender a criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o Guia de Introdução do MongoDB.

O exemplo seguinte cria um índice de múltiplas chaves no campo cast :

bson_error_t error;
bson_t *keys = BCON_NEW("cast", BCON_INT32(1));
mongoc_index_model_t *index_model = mongoc_index_model_new(keys, NULL);
if (mongoc_collection_create_indexes_with_opts(collection, &index_model, 1, NULL, NULL, &error)) {
printf("Successfully created index\n");
} else {
fprintf(stderr, "Failed to create index: %s", error.message);
}
bson_destroy(keys);
mongoc_index_model_destroy(index_model);

O exemplo a seguir executa uma query que usa o índice criado na amostra de código anterior:

const bson_t *doc;
bson_t *filter = BCON_NEW("cast", BCON_UTF8("Viola Davis"));
mongoc_cursor_t *results =
mongoc_collection_find_with_opts(collection, filter, NULL, NULL);
while (mongoc_cursor_next(results, &doc)) {
char *str = bson_as_canonical_extended_json(doc, NULL);
printf("%s\n", str);
bson_free(str);
}
mongoc_cursor_destroy(results);
bson_destroy(filter);

Os índices multicamadas se comportam de forma diferente de outros índices em termos de cobertura de consulta, computação vinculada a índice e comportamento de classificação. Para saber mais sobre índices de várias chaves, incluindo uma discussão sobre seu comportamento e limitações, consulte o guia Índices de várias chaves no manual do MongoDB Server .

Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: