dropSearchIndex
On this page本页内容
Definition
Deletes an existing Atlas Search index.
The mongosh method db.collection.dropSearchIndex() provides a wrapper around the updateSearchIndex database command.
This command can only be run on a deployment hosted on MongoDB Atlas, and requires an Atlas cluster tier of at least M10.
Syntax
Command syntax:
db.runCommand(
{
dropSearchIndex: "<collection name>",
id: "<index Id>",
name: "<index name>"
}
)
Command Fields
The dropSearchIndex command takes the following fields:
| Field | Type | Necessity | Description |
|---|---|---|---|
dropSearchIndex | string | Required | Name of the collection that contains the index to delete. |
id | string | Conditional | id of the index to delete.You must specify either the id or name field.
|
name | string | Conditional | Name of the index to delete. You must specify either the id or name field.
|
Behavior
After you run the dropSearchIndex command, there may be a delay between when you receive a response from the command and when the index is deleted.
To see the status of your search indexes, use the $listSearchIndexes aggregation stage. Once your index is deleted, that index no longer appears in the $listSearchIndexes output.
Access Control
If your deployment enforces access control, the user running the dropSearchIndex command must have the dropSearchIndex privilege action on the database or collection:
{
resource: {
db : <database>,
collection: <collection>
},
actions: [ "dropSearchIndex" ]
}
The built-in dbAdmin and readWrite roles provide the dropSearchIndex privilege. The following example grants the readWrite role on the qa database:
db.grantRolesToUser(
"<user>",
[ { role: "readWrite", db: "qa" } ]
)
Output
A successful dropSearchIndex command returns the following:
{
ok: 1
}
Example
The following example deletes a search index named searchIndex01 on the contacts collection:
db.runCommand( {
dropSearchIndex: "contacts",
name: "searchIndex01"
} )