MongoDB slette data

MongoDB slette data
Som enhver normal databaseoperasjon, vil du komme over tilfeller der du trenger å fjerne data fra en gitt samling. Heldigvis gir MongoDB oss enkle og intuitive kommandoer for å utføre slike oppgaver.I dette innlegget vil vi diskutere hvordan du sletter en enkelt eller flere dokumenter fra en MongoDB -samling.

MongoDB slette dokumenter

Ved hjelp av Mongo Shell kan vi bruke to hovedmetoder for å fjerne dokumenter fra en gitt samling. Disse metodene er som følger:

  1. db.samling.DeleteOne () -Ler deg til å fjerne et enkelt dokument fra en samling basert på et spesifikt filter.
  2. db.samling.Deletemany () -feller flere dokumenter fra en samling som samsvarer med et spesifikt mønster.

I denne opplæringen vil vi bruke Netflix -datasettet som er gitt i ressursen nedenfor for illustrasjonsformål.

https: // www.Kaggle.com/datasett/shivamb/netflix-show

MongoDB DB.samling.DeleteOne ()

Utdraget nedenfor viser syntaks for MongoDB DeleteOne () -metoden:

db.samling.DeleteOne (
,

Writeconcern: ,
Samling: ,
hint:

)

DeleteOne () -metoden vil fjerne det første dokumentet som samsvarer med den spesifiserte filtertilstanden.

For å illustrere, antar vi at vi ønsker å fjerne dokumentet som vises nedenfor:


"_id": ObjectId ("631f41eeeecaffa1f860a597"),
"Show_id": "S33",
"Type": "TV Show",
"Tittel": "Sexundervisning",
"Cast": "Asa Butterfield, Gillian Anderson, Ncutigatwa, Emma Mackey, Connor Swindells, Kedar Williams-Stirling, Alistair Petrie",
"Land": "Storbritannia",
"date_added": "17. september 2021",
"Release_year": "2020",
"Rating": "TV-Ma",
"Varighet": "3 sesonger",
"Listed_in": "Britiske TV -serier, internasjonale TV -serier, TV -komedier",
"Beskrivelse": "Insecure Otis har alle svarene når det gjelder sexråd, takket være hans terapeut mamma. Så Rebel Maeve foreslår en skolesexterapiklinikk."",
"regissør" :""

Vi kan bruke spørringen som vist:

db.Netflix.DeleteOne ("Tittel": "Sex Education");

Spørringen skal finne dokumentet med den spesifiserte tittelen og fjerne det fra samlingen. Spørringen skal returnere:


"anerkjent": sant,
"DeletedCount": 1.0

MongoDB DB.samling.deletemany ()

Som nevnt lar Deletemany () -metoden deg fjerne mer enn ett dokumenter som samsvarer med et spesifikt filter.

Metodens syntaks er som vist:

db.samling.sletting (
,

Writeconcern: ,
Samling:

)

Anta for eksempel at vi ønsker å fjerne alle dokumenter av typen "film" fra Netflix Collection.

Vi kan kjøre kommandoen som vist:

db.Netflix.deletemany ("type": "film")

Kjører spørringen over, vil MongoDB skanne samlingen og fjerne ethvert dokument av typen "film".

Den resulterende utgangen er som vist:


"anerkjent": sant,
"DeletedCount": 6131.0

I dette tilfellet kan vi se at spørringen sletter 6131 dokumenter fra samlingen.

MongoDB Fjern alle dokumenter

Vi kan også bruke Deletemany () -metoden for å slippe alle dokumenter i en gitt samling ved å passere et tomt filter. Dette vil tvinge MongoDB til å matche alle dokumentene i samlingen og sende dem til Deletemany () -samlingen.

Et eksempel er som vist:

db.Netflix.Deletemany ()

Kommandoen skal returnere det fjernet dokumentantallet som:


"anerkjent": sant,
"DeletedCount": 8806.0

Konklusjon

I dette innlegget diskuterte vi hvordan du bruker MongoDB DeleteOne () og Deletemany () -metodene for å fjerne ett eller flere dokumenter fra en gitt samling.