sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB remove()

I MongoDB er db.collection.remove() metode fjerner dokumenter fra en samling. Med andre ord, det sletter dem.

collection del er navnet på den samling, som dokumenterne skal fjernes fra.

Du kan slette alle dokumenter, nogle dokumenter eller et enkelt dokument efter behov.

Fjern alle dokumenter

I dette eksempel fjerner vi alle dokumenter fra en samling kaldet employees :

db.employees.remove({})

Resultat:

WriteResult({ "nRemoved" : 5 })

Resultatet viser os, at fem dokumenter blev fjernet.

Fjern valgte dokumenter

I dette eksempel fjerner vi kun nogle dokumenter.

Lad os først udfylde vores medarbejdersamling igen:

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

Lad os nu fjerne alle medarbejdere, der tjener mere end 80.000 om året.

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

Resultat:

WriteResult({ "nRemoved" : 2 })

Denne gang blev kun to dokumenter fjernet.

Lad os tage et kig på samlingen.

db.employees.find()

Resultat:

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

Som ventet har de to toplønnede forladt virksomheden.

Fjern ét dokument

Der er et par måder at fjerne et enkelt dokument fra en samling. Den metode, du bruger, afhænger af, hvad du skal gøre.

Du kan enten:

  • Fjern et bestemt dokument
  • Brug justOne parameter

Fjern et specifikt dokument

Hvis du har brug for at fjerne et bestemt dokument, kan du angive dokumentets _id værdi for at fjerne det specifikke dokument.

Så hvis vi ville fjerne f.eks. Fritz fra ovenstående samling, kunne vi angive hans _id værdi af 3 . Sådan:

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

Resultat:

WriteResult({ "nRemoved" : 1 })

Og lad os tjekke samlingen igen:

db.employees.find()

Resultat:

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

Som forventet er Fritz nu forsvundet.

Brug justOne Parameter

Du kan alternativt bruge justOne parameter for at begrænse fjernelsen til kun ét dokument. Dette sletter det første dokument, der matcher slettekriterierne.

For at demonstrere dette punkt så tydeligt som muligt, lad os fjerne alle resterende dokumenter fra samlingen og derefter genudfylde den:

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, så vi ved, at der er fem dokumenter i vores samling.

Lad os nu bruge justOne parameter for at fjerne et enkelt dokument.

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

Resultat:

WriteResult({ "nRemoved" : 1 })

Og lad os tjekke samlingen for at se, hvilket dokument der blev slettet.

db.employees.find()

Resultat:

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

Som forventet blev det første dokument slettet.

justOne parameter har også en anden syntaks. Du kan også bruge det inde i et dokument. Du bliver nødt til at gøre dette, hvis du vil videregive andre argumenter til metoden.

Her er et eksempel.

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

Resultat:

WriteResult({ "nRemoved" : 1 })

Og lad os tage endnu et kig på kollektionen

db.employees.find()

Resultat:

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

Som forventet blev det næste dokument slettet.

Flere oplysninger

Se MongoDB-dokumentationen for mere information.


  1. Hvordan indstiller jeg standardværdien for et heltal i mongodb?

  2. Redis:Sådan parses et listeresultat

  3. Sådan gør du:Brug HBase Thrift Interface, del 2:Indsættelse/hentning af rækker

  4. Microsoft.Extensions.Caching.Redis vælg en anden database end db0