drop() / dropDatabase() în MongoDB & NoSQL

drop() șterge definitiv o colecție cu documentele și indexurile ei; dropDatabase() șterge toată baza curentă.

Sintaxă
db.colectie.drop()
db.dropDatabase()

Ce face drop() / dropDatabase()

db.colectie.drop() elimină colecția întreagă: documentele, indexurile și regulile de validare. Este mult mai rapid decât deleteMany({}), care șterge documentele unul câte unul și păstrează colecția și indexurile.

db.dropDatabase() șterge baza de date curentă (cea aleasă cu use) cu toate colecțiile ei. Ambele operații sunt definitive: fără backup (de exemplu cu mongodump), datele nu mai pot fi recuperate.

Ce returnează

drop(): true dacă a șters colecția (false în versiuni mai vechi, dacă nu exista). dropDatabase(): { ok: 1, dropped: '<baza>' }.

Exemple

Exemplul 1: Ștergerea unei colecții temporare

După drop(), colecția nu mai apare în listă.

show collections
db.import_tmp.drop()
show collections

Ieșire în mongosh

magazin> show collections
clienti
comenzi
import_tmp
magazin> db.import_tmp.drop()
true
magazin> show collections
clienti
comenzi

Exemplul 2: Ștergerea unei baze de test

Verifică numele bazei curente înainte; promptul îl arată.

use test_import
db.dropDatabase()

Ieșire în mongosh

magazin> use test_import
switched to db test_import
test_import> db.dropDatabase()
{ ok: 1, dropped: 'test_import' }

Greșeli frecvente

  • db.dropDatabase() șterge baza în care te afli, nu una dată ca argument. Uită-te la prompt (magazin>) înainte să apeși Enter.
  • Dacă vrei să golești colecția, dar să păstrezi indexurile și validarea, folosește deleteMany({}), nu drop().

Comenzi înrudite

  • show dbs / use: În mongosh, show dbs listează bazele de date, use schimbă baza curentă, iar show collections arată colecțiile ei.
  • db.createCollection(): Creează explicit o colecție, cu opțiuni: validare cu $jsonSchema, colecție capped, time series sau colație.
  • mongodump / mongorestore: mongodump face o copie de siguranță binară (BSON) a bazelor de date; mongorestore o încarcă înapoi, pe același server sau pe altul.
  • dropIndex() / dropIndexes(): dropIndex() șterge un index după nume sau după cheie; dropIndexes() le șterge pe toate, în afară de _id.