Computer >> Máy Tính >  >> Lập trình >> MongoDB

Xóa tất cả các bộ sưu tập có tên khớp với một chuỗi trong MongoDB

Để xóa tất cả các bộ sưu tập có tên khớp với một chuỗi, bạn có thể làm theo một số bước. Sử dụng vòng lặp for để lặp lại tất cả các bộ sưu tập và tìm tên bộ sưu tập cụ thể đó với một chuỗi nhất định. Sau đó, sử dụng phương pháp drop để xóa tất cả các bộ sưu tập.

Giả sử chúng tôi đang sử dụng “mẫu” cơ sở dữ liệu. Các bộ sưu tập như sau trong cơ sở dữ liệu mẫu

> show collections;

Điều này sẽ tạo ra kết quả sau

arraySizeErrorDemo
basicInformationDemo
copyThisCollectionToSampleDatabaseDemo
deleteAllRecordsDemo
deleteDocuments
deleteDocumentsDemo
deleteMultipleIdsDemo
deleteSomeInformation
documentWithAParticularFieldValueDemo
employee
findListOfIdsDemo
findMimimumElementInArrayDemo
findSubstring
getAllRecordsFromSourceCollectionDemo
getElementWithMaxIdDemo
insertDocumentWithDateDemo
internalArraySizeDemo
largestDocumentDemo
makingStudentInformationClone
oppositeAddToSetDemo
prettyDemo
returnOnlyUniqueValuesDemo
selectWhereInDemo
sourceCollection
studentInformation
sumOfValueDemo
sumTwoFieldsDemo
truncateDemo
updateInformation
userInformation

Bây giờ loại bỏ tất cả các tên bộ sưu tập khớp với một chuỗi "xóa". Sau đây là truy vấn

> var allCollectionName = db.getCollectionNames();
> for(var j= 0, colLength = allCollectionName.length; j< colLength ; j++){
...    var colName = allCollectionName[j];
...    if(colName.indexOf('delete') == 0){
...       db[colName].drop()
...    }
... }

Điều này sẽ tạo ra kết quả sau

True

Bây giờ bạn có thể thấy không có tập hợp nào có tên “xóa” vì tất cả các tập hợp đã được xóa thành công khỏi cơ sở dữ liệu mẫu.

Bây giờ chúng ta hãy kiểm tra tất cả các tên bộ sưu tập. Sau đây là truy vấn

> show collections;

Điều này sẽ tạo ra kết quả sau

arraySizeErrorDemo
basicInformationDemo
copyThisCollectionToSampleDatabaseDemo
documentWithAParticularFieldValueDemo
employee
findListOfIdsDemo
findMimimumElementInArrayDemo
findSubstring
getAllRecordsFromSourceCollectionDemo
getElementWithMaxIdDemo
insertDocumentWithDateDemo
internalArraySizeDemo
largestDocumentDemo
makingStudentInformationClone
oppositeAddToSetDemo
prettyDemo
returnOnlyUniqueValuesDemo
selectWhereInDemo
sourceCollection
studentInformation
sumOfValueDemo
sumTwoFieldsDemo
truncateDemo
updateInformation
userInformation