sql >> Database >  >> NoSQL >> MongoDB

Een element uit array verwijderen in mongodb

De $pop operator verwijdert het eerste of laatste element van de array, wat niet noodzakelijk de juiste hoeft te zijn.

Als je een specifiek element wilt, kun je $pull het item met gedefinieerde criteria:

   model.registerCompany.findOneAndUpdate({companyKey:"a key"},
    {$pull:{onlineEmployees:"John"}},

Je moet ervoor zorgen dat de waarde in de array uniek is, voor $pull verwijdert elk element dat overeenkomt met de naam 'John'.

Als er identieke waarden in de array voorkomen, moet u $unset . gebruiken en $ positionele operator om de waarde van het doelelement in te stellen op null (helaas zal $unset geen elementen verwijderen) en gebruik dan $pull om het element te verwijderen met null waarde. Om dat te doen, moet u ervoor zorgen dat de geldige waarde niet null . kan zijn . In dat geval zou de code kunnen zijn als:

model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } ) 
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } ) 



  1. Index van item in array ophalen in MongoDB

  2. Wat de overhead van Java ORM voor MongoDB is?

  3. Hoe $push update-modifier te gebruiken in MongoDB en C#, bij het bijwerken van een array in een document

  4. Een overzicht van MongoDB Atlas:deel twee