当前位置:嗨网首页>书籍在线阅读

14-删除集合

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.3.3 删除集合

从数据库中删除集合 在本节中,您将使用Collection对象来删除前面添加的集合。这个示例连接到一个数据库、显示其中的集合再将集合逐个删除。 请执行如下步骤,编写一个从数据库中删除集合的MongoDB shell脚本。 1.确保启动了MongoDB服务器。 2.在文件夹code/hour05中新建一个文件,并将其命名为collection_delete.js。 3.在这个文件中输入程序清单5.7所示的代码。这些代码连接到本地的MongoDB服务器、创建一个名为newDB的Database对象、显示数据库中的集合再将集合逐个删除。 4.将这个文件存盘。 5.打开一个控制台窗口,并切换到文件夹code/hour05。 6.在控制台提示符下使用命令mongo启动MongoDB shell。 7.使用下面的MongoDB shell命令执行第2步创建的文件: 8.查看程序清单5.8所示的输出,注意到初始集合列表中包含newCollectionA和newCollectionB。这些集合被删除后,它们就不再出现在集合列表中了。注意到即便删除其他所有集合后,集合system.indexes也没有删除。 程序清单5.7 collection_delete.js:使用MongoDB shell从数据库中删除集合 程序清单5.8 collection_delete.js-output:使用MongoDB shell从数据库中删除集合的输出

有时还需删除不再需要的旧集合。删除旧集合可释放磁盘空间,消除与这些集合相关的开销,如索引。

要在MongoDB shell中删除集合,需要切换到相应的数据库,再对集合调用函数drop()。

通常,可使用集合名和句点语法来访问集合。例如,下面的代码从当前数据库中删除集合newCollection:

use testDB
db.newCollection.drop()

您还可以使用getCollection()来获取Collection对象,再对其调用方法drop(),对于MongoDB shell句点语法不支持的集合名,这很有用。例如,下面的代码也从数据库testDB中删除集合newCollection:

use testDB
coll = db.getCollection("newCollection")
coll.drop()

▼ Try It Yourself

load("collection_delete.js")
01 mongo = new Mongo("localhost");
02 myDB = mongo.getDB("newDB");
03 collections = myDB.getCollectionNames();
04 print("Initial Collections:");
05 printjson(collections);
06 collection = myDB.getCollection("newCollectionA");
07 collection.drop();
08 print("After Deleting newCollectionA:");
09 printjson(collections);
10 collection = myDB.getCollection("newCollectionB");
11 collection.drop();
12 print("After Deleting newCollectionB:");
13 collections = myDB.getCollectionNames();
14 printjson(collections);
Initial Collections:
[ "newCollectionA", "newCollectionB", "system.indexes" ]
After Deleting newCollectionA:
[ "newCollectionA", "newCollectionB", "system.indexes" ]
After Deleting newCollectionB:
[ "system.indexes" ]