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

Excluir um índice do Atlas Search

Nesta página

  • Acesso necessário
  • Excluir um índice do Atlas Search

A tabela a seguir mostra os modos de acesso que cada papel suporta.

Função
em ação
IU do Atlas
Atlas API
API de pesquisa do Atlas
Atlas CLI

Project Data Access Read Only ou role superior

Para visualizar analisadores e índices do Atlas Search.

Project Data Access Admin ou role superior

Para criar e gerenciar analisadores e índices do Atlas Search e atribuir a função à sua chave de API.

Para criar entradas de lista de acesso para sua Chave de API e enviar a solicitação de um cliente que aparece na lista de acesso para sua Chave de API.

Para criar, visualizar, editar e excluir índices do Atlas Search usando a UI ou API do Atlas.

Você pode excluir um índice do Atlas Search na UI do Atlas ou programaticamente usando o mongosh, o Atlas CLI, aAPI ou um driver MongoDB compatível em seu idioma preferido.

Observação

Você pode usar o mongosh comando ou os métodos assistente do driver para excluir índices do Atlas Search em todas as camadas do Atlas cluster. Para obter uma lista de versões de driver compatíveis, consulte Drivers do MongoDB .

Você deve ter pelo menos o papel do readWriteAnyDatabase ou acesso do readWrite ao banco de dados que contém os índices. Para saber mais, consulte Funções embutidas ou Privilégios específicos.


➤ Use o menu suspenso Selecione a linguagem para definir a linguagem do exemplo nesta seção.


Para excluir um índice do Atlas Search por meio da API:

1

Envie uma solicitação DELETE com o ID ou nome exclusivo do índice do Atlas Search que você quer excluir para o endpoint search/indexes/.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \
--include \
--request DELETE "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId}"

Para saber mais sobre a sintaxe e os parâmetros de um dos endpoints, consulte Excluir um por nome e Excluir um por ID.

2

Para excluir um índice de pesquisa de um agrupamento utilizando o Atlas CLI, execute o seguinte comando:

atlas clusters search indexes delete <indexId> [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI sobre excluir índices de pesquisa dos clusters do Atlas.

Dica

Veja: links relacionados

Para excluir o índice de pesquisa especificado para o sistema especificado utilizando o Atlas CLI, execute o seguinte comando:

atlas deployments search indexes delete <indexId> [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação da Atlas CLI do Atlas para Atlas índices do Atlas Search nas implantações do Atlas.

Dica

Veja: links relacionados

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2

Você pode acessar a página do Atlas Search pela barra lateral, pelo Data Explorer ou pela página de detalhes do cluster.

  1. Na barra lateral, clique em Atlas Search sob o título Services.

  2. No menu suspenso Select data source, selecione seu cluster e clique em Go to Atlas Search.

    A página Atlas Search é exibida.

  1. Clique no botão Browse Collections para o seu cluster.

  2. Expanda o banco de dados e selecione a coleção.

  3. Clique na guia Search Indexes da coleção.

    A página Atlas Search é exibida.

  1. Clique no nome do seu cluster.

  2. Clique na aba Atlas Search.

    A página Atlas Search é exibida.

3

O botão ellipsis está localizado no lado direito do painel. Clique no botão ao lado do índice desejado e selecione Delete Index.

4

Para excluir um índice do Atlas Search por meio de mongosh, use o método db.collection.dropSearchIndex().

O comando tem a seguinte sintaxe:

db.<collection>.dropSearchIndex("<index-name>")

O seguinte comando exclui um índice de pesquisa chamado default da coleção movies:

db.movies.dropSearchIndex("default")

Observação

O comando db.collection.dropSearchIndex() não retorna uma saída. Você pode utilizar a interface do usuário do Atlas para visualizar o status do índice.

Para usar o driver C para excluir seu índice do Atlas Search , passe sua coleção e o comando de descarte para o método mongoc_collection_command_simple() .

1
2

O aplicativo de exemplo a seguir especifica o comando dropSearchIndex e um nome de índice existente. Em seguida, o aplicativo converte o comando e as informações de índice para BSON e passa essas informações para o método mongoc_collection_command_simple() para excluir o índice de pesquisa.

#include <mongoc/mongoc.h>
#include <stdlib.h>
int main (void)
{
mongoc_client_t *client = NULL;
mongoc_collection_t *collection = NULL;
mongoc_database_t *database = NULL;
bson_error_t error;
bson_t cmd = BSON_INITIALIZER;
bool ok = true;
mongoc_init();
// Connect to your Atlas deployment
client = mongoc_client_new("<connectionString>");
if (!client) {
fprintf(stderr, "Failed to create a MongoDB client.\n");
ok = false;
goto cleanup;
}
// Access your database and collection
database = mongoc_client_get_database(client, "<databaseName>");
collection = mongoc_database_get_collection(database, "<collectionName>");
// Specify the command and the index name
const char *cmd_str =
BSON_STR ({"dropSearchIndex" : "<collectionName>", "name" : "<indexName>"});
// Convert your command to BSON
if (!bson_init_from_json(&cmd, cmd_str, -1, &error)) {
fprintf(stderr, "Failed to parse command: %s\n", error.message);
ok = false;
goto cleanup;
}
// Run the command to drop the search index
if (!mongoc_collection_command_simple (collection, &cmd, NULL, NULL, &error)) {
fprintf(stderr, "Failed to run dropSearchIndex: %s\n", error.message);
ok = false;
goto cleanup;
}
printf ("Index dropped!\n");
cleanup:
mongoc_collection_destroy(collection);
mongoc_database_destroy(database);
mongoc_client_destroy(client);
bson_destroy(&cmd);
mongoc_cleanup ();
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
}
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleção para os quais você deseja excluir um índice.

  • O nome do índice que você deseja excluir.

4
gcc -o delete-index delete-index.c $(pkg-config --libs --cflags libmongoc-1.0)
./delete-index

Para usar o driver C++ para excluir o índice do Atlas Search, chame o método drop_one() em uma visualização de índice de pesquisa.

1
2

O seguinte aplicativo de amostra usa o método search_indexes() na coleção de destino para instanciar uma exibição de índice de pesquisa. Em seguida, o aplicativo chama o método drop_one() na exibição e passa um nome de índice do Atlas Search como um parâmetro para excluir o índice.

#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/search_index_view.hpp>
using namespace mongocxx;
int main()
{
mongocxx::instance instance{};
try
{
// Connect to your Atlas deployment
mongocxx::uri uri("<connectionString>");
mongocxx::client client(uri);
// Access your database and collection
auto db = client["<databaseName>"];
auto collection = db["<collectionName>"];
// Access the indexes in your collection
auto siv = collection.search_indexes();
// Delete your search index
auto name = "<indexName>";
siv.drop_one(name);
}
catch (const std::exception& e)
{
std::cout<< "Exception: " << e.what() << std::endl;
}
return 0;
}
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleção para os quais você deseja obter os índices.

  • O nome do índice que você deseja excluir.

4
g++ -o delete-index delete-index.cpp $(pkg-config --cflags --libs libmongocxx)
./delete-index

Para usar o driver .NET/C# para excluir um índice do Atlas Search, use o método DropOne() ou DropOneAsync().

O seguinte aplicativo de exemplo exclui um índice de uma coleção. Especifique os seguintes valores:

  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleção que contêm o índice de pesquisa que você deseja excluir.

  • O nome do índice de pesquisa que você deseja excluir.

Program.cs
using MongoDB.Bson;
using MongoDB.Driver;
// connect to your Atlas deployment
var uri = "<connection-string>";
var client = new MongoClient(uri);
var db = client.GetDatabase("<databaseName>");
var collection = db.GetCollection<BsonDocument>("<collectionName>");
// drop your Atlas Search index
collection.SearchIndexes.DropOne("<index name>");

Para executar o aplicativo de amostra, crie um novo projeto de console .NET chamado csharp-delete-index e copie o exemplo de código anterior para o arquivo Program.cs. Em seguida, use o seguinte comando para executar o projeto:

dotnet run csharp-delete-index.csproj

Observação

O método DropOne() não retorna uma saída. Você pode usar a interface do Atlas para visualizar o status do índice.

Dica

Documentação da API

Para excluir um índice do Atlas Search em uma coleção usando o Java Driver, use o método dropSearchIndex(). Você deve ter o Java Driver v4.11.0 ou superior.

1
2

O seguinte aplicativo de amostra exclui o índice do Atlas Search especificado na coleção especificada.

1import com.mongodb.client.MongoClient;
2import com.mongodb.client.MongoClients;
3import com.mongodb.client.MongoCollection;
4import com.mongodb.client.MongoDatabase;
5import org.bson.Document;
6
7public class DeleteIndex {
8 public static void main(String[] args) {
9 // connect to your Atlas cluster
10 String uri = "<connection-string>";
11
12 try (MongoClient mongoClient = MongoClients.create(uri)) {
13 // set namespace
14 MongoDatabase database = mongoClient.getDatabase("<database-name>");
15 MongoCollection<Document> collection = database.getCollection("<collection>");
16 // delete the index
17 collection.dropSearchIndex("<index-name>");
18 }
19 }
20}
3
  • <connection-string> - Sua string de conexão do Atlas. Para saber mais, consulte Conectar via drivers.

    Observação

    Na sua string de conexão, não inclua a configuração writeConcern .

  • <database-name> - O nome do banco de dados que contém a coleção.

  • <collection-name> - O nome da collection para a qual você deseja recuperar o índice.

  • <index-name> - o nome do índice a ser excluído.

4
javac DeleteIndex.java
java DeleteIndex

Para excluir um índice do Atlas Search por meio do driver Node, use o método auxiliar dropSearchIndex .

Você pode usar o seguinte aplicativo de amostra chamado drop-index.js para excluir um índice na sua collection. Especifique os seguintes valores:

  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleção onde você criou o índice de pesquisa.

  • O nome do índice que você deseja excluir.

drop-index.js
// connect to your Atlas deployment
const uri = "<connection-string>";
const client = new MongoClient(uri);
async function run() {
try {
const database = client.db("<databaseName>");
const collection = database.collection("<collectionName>");
// run the helper method
await collection.dropSearchIndex("<index-name>");
} finally {
await client.close();
}
}
run().catch(console.dir);

Para executar o aplicativo de amostra, use o seguinte comando.

node drop-index.js

Observação

O método dropSearchIndex não retorna uma saída. Você pode usar a interface do Atlas para visualizar o status do índice.

Para usar o driver Python para excluir seu índice do Atlas Search , chame o método drop_search_index() na sua coleção.

1
2

O aplicativo de amostra a seguir passa um nome de índice do Atlas Search para o método drop_search_index() para excluir o índice.

from pymongo.mongo_client import MongoClient
def delete_index():
# Connect to your Atlas deployment
uri = "<connectionString>"
client = MongoClient(uri)
# Access your database and collection
database = client["<databaseName>"]
collection = database["<collectionName>"]
# Delete your search index
collection.drop_search_index("<indexName>")
3
  • Sua connection string do Atlas. Para saber mais, consulte Conectar via Drivers.

  • O banco de dados e a coleção para os quais você deseja excluir um índice.

  • O nome do índice que você deseja excluir.

4
python delete-index.py

Voltar

Editar