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

Usuń MongoDB()

W MongoDB db.collection.remove() metoda usuwa dokumenty z kolekcji. Innymi słowy, usuwa je.

collection część to nazwa kolekcji, z której mają zostać usunięte dokumenty.

W razie potrzeby możesz usunąć wszystkie dokumenty, niektóre dokumenty lub pojedynczy dokument.

Usuń wszystkie dokumenty

W tym przykładzie usuwamy wszystkie dokumenty z kolekcji o nazwie employees :

db.employees.remove({})

Wynik:

WriteResult({ "nRemoved" : 5 })

Wynik pokazuje, że usunięto pięć dokumentów.

Usuń wybrane dokumenty

W tym przykładzie usuwamy tylko niektóre dokumenty.

Najpierw ponownie wypełnijmy kolekcję naszych pracowników:

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 }
    ])

Teraz usuńmy wszystkich pracowników, którzy zarabiają więcej niż 80 000 rocznie.

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

Wynik:

WriteResult({ "nRemoved" : 2 })

Tym razem usunięto tylko dwa dokumenty.

Przyjrzyjmy się kolekcji.

db.employees.find()

Wynik:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Zgodnie z oczekiwaniami, dwóch najlepiej zarabiających odeszło z firmy.

Usuń jeden dokument

Istnieje kilka sposobów na usunięcie pojedynczego dokumentu z kolekcji. Metoda, której użyjesz, będzie zależeć od tego, co musisz zrobić.

Możesz:

  • Usuń określony dokument
  • Użyj justOne parametr

Usuń określony dokument

Jeśli chcesz usunąć określony dokument, możesz określić jego _id wartość, aby usunąć ten konkretny dokument.

Jeśli więc chcielibyśmy usunąć, powiedzmy, Fritz z powyższej kolekcji, moglibyśmy określić jego _id wartość 3 . Tak:

db.employees.remove({ "_id": 3 })

Wynik:

WriteResult({ "nRemoved" : 1 })

I jeszcze raz sprawdźmy kolekcję:

db.employees.find()

Wynik:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Zgodnie z oczekiwaniami Fritz zniknął.

Użyj justOne Parametr

Możesz alternatywnie użyć justOne parametr, aby ograniczyć usuwanie tylko do jednego dokumentu. Spowoduje to usunięcie pierwszego dokumentu, który spełnia kryteria usuwania.

Aby jak najdokładniej zademonstrować ten punkt, usuńmy wszystkie pozostałe dokumenty z kolekcji, a następnie wypełnijmy je ponownie:

db.employees.remove({})
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 }
    ])

OK, więc wiemy, że w naszej kolekcji jest pięć dokumentów.

Użyjmy teraz justOne parametr, aby usunąć pojedynczy dokument.

db.employees.remove({}, "justOne: true")

Wynik:

WriteResult({ "nRemoved" : 1 })

Sprawdźmy też kolekcję, aby zobaczyć, który dokument został usunięty.

db.employees.find()

Wynik:

{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Zgodnie z oczekiwaniami pierwszy dokument został usunięty.

justOne parametr ma również inną składnię. Możesz go również użyć w dokumencie. Musisz to zrobić, jeśli zamierzasz przekazać inne argumenty do metody.

Oto przykład.

db.employees.remove(
    {}, 
    {
        justOne: true,
        writeConcern: { w: "majority", wtimeout: 3000 },
        collation: { locale: "de", strength: 1 }
    }
)

Wynik:

WriteResult({ "nRemoved" : 1 })

Przyjrzyjmy się jeszcze raz kolekcji

db.employees.find()

Wynik:

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

Zgodnie z oczekiwaniami następny dokument został usunięty.

Więcej informacji

Więcej informacji znajdziesz w dokumentacji MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wykonać odpowiednik SQL Join w MongoDB?

  2. Konwertuj ciąg na MongoDB BsonDocument

  3. Ostrzeżenie o wycofaniu:Nasłuchiwanie zdarzeń w klasie Db zostało wycofane i zostanie usunięte w następnej wersji głównej

  4. Jak uruchomić Mongo DB z systemu Windows?

  5. Mongoose - spowodowane przez ::11000 E11000 zduplikowany indeks błędu klucza?