10-删除数据库
5.2.4 删除数据库
删除数据库 在本节中,您将编写一个简单的MongoDB shell JavaScript文件来删除数据库,再核实这个数据库确实被删除了。请执行下面的步骤,将数据库newDB删除。 1.确保启动了MongoDB服务器。 2.在文件夹code/hour05中新建一个文件,并将其命名为db_delete.js。 3.在这个文件中输入程序清单5.2所示的代码。这些代码连接到MongoDB服务器,并删除前面创建的数据库newDB。 4.将这个文件存盘。 5.打开一个控制台窗口,并切换到文件夹code/hour05。 6.在控制台提示符下执行命令mongo以启动MongoDB shell。 7.使用下面的MongoDB shell命令来执行第2步创建的文件: 8.使用下面的命令核实数据库newDB确实被删除了。它应该不再出现在数据库列表中。 程序清单5.2 db_delete.js:使用MongoDB shell删除数据库 ▲
获取MongoDB数据库的统计信息 Database对象另一项很有用的功能是,让您能够获取特定数据库的统计信息。通过信息让您能够知道数据库包含的集合数、数据库大小、索引数等。在需要编写代码定期地检查数据库的统计信息,以确定数据库是否需要清理时,这些信息特别有用。 要获取数据库的统计信息,可使用Database对象的方法stats(),如下所示: 请执行如下步骤来编写一个MongoDB shell脚本,以显示数据库admin的统计信息。 1.确保启动了MongoDB服务器。 2.在文件夹code/hour05中新建一个文件,并将其命名为db_stats.js。 3.在这个文件中输入程序清单5.3所示的代码。这些代码连接到本地MongoDB服务器中的数据库admin,并打印其统计信息。 4.将这个文件存盘。 5.打开一个控制台窗口,并切换到文件夹code/hour05。 6.在控制台提示符下使用命令mongo启动MongoDB shell。 7.使用下面的MongoDB shell命令执行第2步创建的文件: 8.查看程序清单5.4所示的输出,以了解这个数据库的统计信息。 程序清单5.3 db_stats.js:使用MongoDB shell显示数据库的统计信息 程序清单5.4 db_stats.js-output:使用MongoDB shell显示数据库统计信息的输出 ▲
数据库创建后,它将一直存在于MongoDB中,直到管理员将其删除。在有些系统上,删除数据库是一种常见的任务,在创建数据库用于存储临时数据时尤其如此。有时候,将过期的数据库删除再创建一个新的,比清空数据库的内容更容易。
要在MongoDB shell中删除数据库,可使用方法dropDatabase()。例如,要删除数据库newDB,可使用下面的命令切换到该数据库再将其删除:
use newDB
db.dropDatabase()
请注意,方法dropDatabase()删除当前数据库,但不会修改当前数据库句柄。删除数据库后,如果您在没有切换到其他数据库的情况下创建集合,将重新创建被删除的数据库。
stats = db.stats()
要使用JavaScript脚本删除数据库,可使用Connection对象创建一个Database对象实例,再对其调用方法dropDatabase(),如下所示:
myConn = new Mongo("localhost");
myDB = myConn.getDB("newDB");
myDB.dropDatabase()
▼ Try It Yourself
▼ Try It Yourself
load("db_delete.js")
show dbs
load("db_stats.js")
01 mongo = new Mongo("localhost");
02 myDB = mongo.getDB("newDB");
03 myDB.dropDatabase();
01 mongo = new Mongo("localhost");
02 myDB = mongo.getDB("admin");
03 stats = myDB.stats();
04 printjson(stats);
MongoDB shell version: 2.4.8
connecting to: test
type "help" for help
{
"db" : "admin",
"collections" : 5,
"objects" : 25,
"avgObjSize" : 1557.44,
"dataSize" : 38936,
"storageSize" : 577536,
"numExtents" : 6,
"indexes" : 6,
"indexSize" : 49056,
"fileSize" : 201326592,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"ok" : 1
}