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

Fjernelse af et element fra array i mongodb

$pop operatør vil fjerne første eller sidste element i arrayet, som ikke nødvendigvis er det rigtige.

Hvis du ønsker et specifikt element, kan du $pull varen med definerede kriterier:

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

Du skal sikre dig, at værdien i arrayet er unik for $pull fjerner hvert element, der matcher navnet 'John'.

Hvis der findes identiske værdier i arrayet, skal du bruge $unset og $ positionsoperator for at indstille målelementværdien til null (desværre vil $unset ikke fjerne elementer) og derefter bruge $pull for at fjerne elementet med null værdi. For at gøre det skal du sørge for, at gyldig værdi ikke kan være null . I så fald kunne koden være sådan:

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



  1. mongoengine.fields.ImproperlyConfigured:PIL-bibliotek blev ikke fundet

  2. uploader fil til mappe på node-express-websted ved hjælp af multer med mongodb

  3. Redis lua hvornår skal man virkelig bruge det?

  4. Kan jeg bruge populate before aggregate i mongoose?