$pop ще премахне първия или последния елемент от масива, който може да не е непременно правилният.
Ако искате конкретен елемент, можете да $pull елементът с определени критерии:
model.registerCompany.findOneAndUpdate({companyKey:"a key"},
{$pull:{onlineEmployees:"John"}},
Трябва да се уверите, че стойността в масива е уникална за $pull
премахва всеки елемент, съответстващ на името „Джон“.
Ако в масива съществуват идентични стойности, трябва да използвате $unset
и $
позиционен оператор за задаване на стойността на целевия елемент на null
(за съжаление $unset няма да премахне елементи) и след това използвайте $pull
за да премахнете елемента с null
стойност. За да направите това, трябва да се уверите, че валидната стойност не може да бъде null
. В този случай кодът може да бъде като:
model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } )
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } )