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

MongoDB deleteOne()

I MongoDB er db.collection.deleteOne() metode fjerner et enkelt dokument fra en samling. Med andre ord, den sletter den.

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

Eksempel

Lad os udfylde en samling kaldet employees med fem dokumenter:

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 bruge db.collection.deleteOne() for at slette et af disse dokumenter.

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

Resultat:

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

Dette slettede medarbejder nummer 4.

Lad os tage et kig på samlingen for at bekræfte.

db.employees.find()

Resultat:

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

Vi kan se, at medarbejder nummer 4 ikke længere findes i samlingen.

Brug af en bredere tilstand

I det foregående eksempel brugte vi _id felt for den medarbejder, som vi ønskede at slette. Fordi _id felt er den unikke identifikator for hvert dokument, dette gjorde det muligt for os at slette det nøjagtige dokument, som vi ønskede at blive slettet.

Det er også muligt at slette et enkelt dokument uden at være så præcis om, hvilket der slettes. For eksempel kan du bruge et bredt filter, der returnerer mange dokumenter, men kun slette det første dokument fra disse resultater.

For eksempel kunne vi filtrere efter medarbejdere, der tjener mere end 80.000 om året, og derefter slette det første dokument i den gruppe.

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

Resultat:

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

I dette eksempel blev kun ét dokument slettet, selvom der var to dokumenter, der matchede kriterierne.

Vi kan tage et kig på samlingen for at se, hvilken der blev slettet.

db.employees.find()

Resultat:

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

Vi kan endda tage det et skridt videre og fjerne alle filtre, hvilket betyder, at den vælger fra alle dokumenter i samlingen.

db.employees.deleteOne({})

Resultat:

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

Vi kan igen tjekke samlingen for at se, hvilken der blev slettet.

db.employees.find()

Resultat:

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

Som forventet blev det første dokument slettet.

Flere oplysninger

db.collection.deleteOne() metode accepterer også valgfri parametre såsom collation , hint , og writeConcern .

Se MongoDB-dokumentationen for mere information.


  1. Meteor uden mongo

  2. Lagring af nogle små (under 1 MB) filer med MongoDB i NodeJS UDEN GridFS

  3. Introduktion til Redis datastrukturer:sæt

  4. MongoDB $in Aggregation Pipeline Operator