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

MongoDB usuńJeden()

W MongoDB db.collection.deleteOne() Metoda usuwa pojedynczy dokument z kolekcji. Innymi słowy, usuwa go.

collection część to nazwa kolekcji, z której ma zostać usunięty dokument.

Przykład

Wypełnijmy kolekcję o nazwie employees z pięcioma dokumentami:

db.employees.insertMany([
    { _id: 1, name: "Sandy", salary: 55000 },
    { _id: 2, name: "Sarah", salary: 128000 },
    { _id: 3, name: "Fritz", salary: 25000 },
    { _id: 4, name: "Chris", salary: 45000 },
    { _id: 5, name: "Beck", salary: 82000 }
    ])

Użyjmy teraz db.collection.deleteOne() aby usunąć jeden z tych dokumentów.

db.employees.deleteOne({ "_id": 4 })

Wynik:

{ "acknowledged" : true, "deletedCount" : 1 }

Ten usunięty pracownik numer 4.

Przyjrzyjmy się kolekcji do weryfikacji.

db.employees.find()

Wynik:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Widzimy, że pracownik numer 4 już nie istnieje w kolekcji.

Korzystanie z szerszego warunku

W poprzednim przykładzie użyliśmy _id pole pracownika, którego chcieliśmy usunąć. Ponieważ _id pole jest unikalnym identyfikatorem dla każdego dokumentu, co pozwoliło nam usunąć dokładnie ten dokument, który chcieliśmy usunąć.

Możliwe jest również usunięcie pojedynczego dokumentu bez dokładnego określenia, który z nich zostanie usunięty. Na przykład możesz użyć szerokiego filtra, który zwraca wiele dokumentów, ale usuwa tylko pierwszy dokument z tych wyników.

Na przykład możemy filtrować według pracowników, którzy zarabiają więcej niż 80 000 rocznie, a następnie usunąć pierwszy dokument z tej grupy.

db.employees.deleteOne({ "salary": { $gt: 80000 } })

Wynik:

{ "acknowledged" : true, "deletedCount" : 1 }

W tym przykładzie tylko jeden dokument został usunięty, mimo że były dwa dokumenty spełniające kryteria.

Możemy spojrzeć na kolekcję, aby zobaczyć, która została usunięta.

db.employees.find()

Wynik:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Możemy nawet pójść o krok dalej i usunąć wszystkie filtry, co oznacza, że ​​wybiera spośród wszystkich dokumentów w kolekcji.

db.employees.deleteOne({})

Wynik:

{ "acknowledged" : true, "deletedCount" : 1 }

Jeszcze raz możemy sprawdzić kolekcję, aby zobaczyć, która została usunięta.

db.employees.find()

Wynik:

{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Zgodnie z oczekiwaniami pierwszy dokument został usunięty.

Więcej informacji

db.collection.deleteOne() metoda akceptuje również parametry opcjonalne, takie jak collation , hint i writeConcern .

Więcej informacji znajdziesz w dokumentacji MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzyskać dostęp do instancji MongoDB 4.2?

  2. MongoDB nie uruchamia się po awarii serwera

  3. MongoDB - rozmiar pliku jest ogromny i rośnie

  4. Model.find() zwraca pusty w manguście

  5. Niebezpieczeństwa związane z indeksami budowlanymi na MongoDB