dropDatabase
在本页面
Definition
dropDatabase
- dropDatabase命令删除当前数据库,删除关联的数据文件。
该命令具有以下形式:
{ dropDatabase: 1, writeConcern: <document>}
该命令具有以下可选字段:
Field | Description |
---|---|
writeConcern | 可选的。表示drop命令的write concern的文档。省略使用默认的写关注。 |
mongo shell 还提供了辅助方法db.dropDatabase()。
Behavior
Locks
从版本 3.6 开始,该操作在删除数据库中的集合时将获得排他(X)数据库锁,而在删除当前为空的数据库时将获得全局锁。
User Management
在 2.6 版中更改:此命令不会删除与当前数据库关联的users。要删除关联的用户,请在要删除的数据库中运行dropAllUsersFromDatabase命令。
副本集和分片群集
在版本 3.6 中更改:dropDatabaseawait 直到数据库中的所有集合删除都传播到大多数副本集成员为止。
Warning
如果删除数据库并创建具有相同名称的新数据库,则必须重新启动所有mongos实例,或者在所有mongos实例上使用flushRouterConfig命令,然后再读取或写入该数据库。此操作可确保mongos实例刷新其元数据缓存,包括新数据库的primary shard的位置。否则,mongos可能会丢失读取数据并将数据写入错误的分片。
Example
mongo shell 中的以下示例使用use <database>
操作将当前数据库切换到temp
数据库,然后使用dropDatabase命令删除temp
数据库:
use temp
db.runCommand( { dropDatabase: 1 } )
See also