MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB - Usuń dokument

W MongoDB możesz usuwać dokumenty za pomocą jednej z trzech metod.

MongoDB udostępnia trzy metody usuwania dokumentów:

  • db.collection.deleteOne()
  • db.collection.deleteMany()
  • db.collection.remove()

db.collection.deleteOne() Metoda

db.collection.deleteOne() usuwa tylko jeden dokument, nawet jeśli więcej niż jeden dokument spełnia kryteria.

Oto przykład db.collection.deleteOne() metoda usuwania pojedynczego dokumentu.

Najpierw uruchommy zapytanie, które zwróci wiele wyników:

db.artists.find( { nazwa wykonawcy:{ $in:[ "Kooks", "Gang of Four", "Bastille" ] } } )

Wyniki:

{ "_id" :ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" :"The Kooks" }{ "_id" :ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" :"Bastille" :}{ "Object ("5781d7f248ef8c6b3ffb014f"), "nazwisko wykonawcy" :"Gang Czterech" }

OK, więc wiemy, że istnieją trzy dokumenty, które spełniają te kryteria.

Teraz użyjmy dokładnie tych samych kryteriów filtrowania dla naszej db.collection.deleteOne() metoda:

db.artists.deleteOne( { nazwa artysty:{ $in:[ "The Kooks", "Gang of Four", "Bastille" ] } } )

Wiadomość wynikowa:

{ "potwierdzone" :prawda, "deletedCount" :1 }

Tak więc tylko jeden dokument został usunięty, mimo że trzy dokumenty spełniały kryteria.

Uruchommy find() zapytaj ponownie, aby zobaczyć, które dokumenty pozostały:

db.artists.find( { nazwa wykonawcy:{ $in:[ "Kooks", "Gang of Four", "Bastille" ] } } )

Wyniki:

{ "_id" :ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" :"Bastille" }{ "_id" :ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" :"Gang of Four" }
db.collection.deleteMany() Metoda

db.collection.deleteMany() metoda usuwa wszystkie dokumenty, które spełniają kryteria.

Uruchommy więc db.collection.deleteMany() metoda z dokładnie takimi samymi kryteriami jak w naszym poprzednim przykładzie. Pamiętaj, pozostały dwa rekordy. Zobaczmy, czy db.collection.deleteMany() usuwa oba:

db.artists.deleteMany( { nazwa artysty:{ $in:[ "The Kooks", "Gang of Four", "Bastille" ] } } )

Wiadomość wynikowa:

{ "potwierdzone" :prawda, "deletedCount" :2 }

Więc pozostałe dwa rekordy zostały usunięte.

db.collection.remove() Metoda

db.collection.remove() metoda usuwa pojedynczy dokument lub wszystkie dokumenty spełniające określone kryteria.

Tutaj usuwamy wszystkie dokumenty, w których nazwa artysty to „AC/DC”.

db.artists.remove( { nazwa artysty:"AC/DC" } )

Wyniki:

WriteResult({ "nUsunięto" :1 })

W tym przypadku jest tylko jeden AC/DC :)

justOne Opcja

Możesz użyć justOne parametr ograniczający operację usuwania tylko do jednego dokumentu (tak jak przy użyciu db.collection.deleteOne() ).

Oto przykład.

Najpierw uruchommy zapytanie, które zwróci wiele dokumentów:

db.muscians.find( { urodzony:{ $lt:1950 } } )

Wyniki:

{ "_id" :2, "name" :"Ian Paice", "instrument" :"Drums", "born" :1948 }{ "_id" :3, "name" :"Roger Glover", " instrument" :"Bass", "born" :1945 }{ "_id" :5, "name" :"Don Airey", "instrument" :"Keyboards", "born" :1948 }

Teraz usuniemy jeden z tych rekordów za pomocą justOne opcja. Ponownie użyjemy dokładnie tych samych kryteriów filtrowania:

db.muscians.remove( { urodzony:{ $lt:1950 } }, { justOne:1 } )

Wiadomość wynikowa:

WriteResult({ "nUsunięto" :1 })

Teraz uruchommy to samo zapytanie, aby zobaczyć, które dokumenty pozostały:

db.muscians.find( { urodzony:{ $lt:1950 } } )

Wyniki:

{ "_id" :3, "name" :"Roger Glover", "instrument" :"Bass", "born" :1945 }{ "_id" :5, "name" :"Don Airey", " instrument" :"Klawiatura", "ur" :1948 }

Usuń wszystkie dokumenty w kolekcji

Możesz usunąć wszystkie dokumenty w kolekcji, po prostu pomijając dowolne kryteria filtrowania.

Usuńmy wszystkie dokumenty w artystach kolekcja:

db.artists.remove({})

Wiadomość wynikowa:

WriteResult({ "nUsunięto" :8 })

Jeśli otrzymasz Błąd:usuń wymaga zapytania błąd, sprawdź, czy nie zapomniałeś dodać nawiasów klamrowych. Nadal musisz je uwzględnić.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przechowuj obrazy w bazie danych MongoDB

  2. Usuń klucz z dokumentu MongoDB za pomocą Mongoose

  3. W jaki sposób dane w bazie danych MongoDB są przechowywane na dysku?

  4. Błąd podczas łączenia się z MongoDb Atlas Server

  5. Obraz zwrócony z REST API zawsze wyświetla uszkodzony