高效刪除MongoDB所有條目?
如果您嘗試使用drop()方法,它將刪除集合的所有資訊。索引很快。但是,如果您使用remove()方法,它將刪除所有記錄,但保留集合和索引。
讓我們透過示例進行檢查。
使用drop()
讓我們首先建立一個包含文件的集合:
> db.dropWorkingDemo.createIndex({"FirstName":1});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.dropWorkingDemo.insertOne({"FirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdd8742bf3115999ed511e9")
}以下是使用find()方法顯示集合中所有文件的查詢:
> db.dropWorkingDemo.find();
這將產生以下輸出:
{ "_id" : ObjectId("5cdd8742bf3115999ed511e9"), "FirstName" : "John" }現在,我將使用drop():
> db.dropWorkingDemo.drop();
這將產生以下輸出:
True
讓我們檢查使用drop()方法後索引是否存在:
> db.dropWorkingDemo.getIndexes();
這將產生以下輸出:
[ ]
索引不存在。
使用remove()
我們現在將檢查remove()方法。讓我們首先建立一個包含文件的集合:
> db.removeDemo.createIndex({"FirstName":1});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.removeDemo.insertOne({"FirstName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdd8868bf3115999ed511ea")
}以下是使用find()方法顯示集合中所有文件的查詢:
> db.removeDemo.find();
這將產生以下輸出:
{ "_id" : ObjectId("5cdd8868bf3115999ed511ea"), "FirstName" : "John" }讓我們使用remove():
> db.removeDemo.remove({});
WriteResult({ "nRemoved" : 1 })使用remove()方法後,讓我們檢查索引是否存在:
> db.removeDemo.getIndexes();
這將產生以下輸出:
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.removeDemo"
},
{
"v" : 2,
"key" : {
"FirstName" : 1
},
"name" : "FirstName_1",
"ns" : "test.removeDemo"
}
]是的,索引存在。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP