$pop operator usunie pierwszy lub ostatni element tablicy, który niekoniecznie musi być prawidłowy.
Jeśli potrzebujesz konkretnego elementu, możesz $pull element ze zdefiniowanymi kryteriami:
model.registerCompany.findOneAndUpdate({companyKey:"a key"},
{$pull:{onlineEmployees:"John"}},
Musisz upewnić się, że wartość w tablicy jest unikalna, dla $pull
usuwa każdy element pasujący do imienia „Jan”.
Jeśli w tablicy istnieją identyczne wartości, musisz użyć $unset
i $
operator pozycyjny do ustawienia wartości elementu docelowego na null
(niestety $unset nie usunie elementów), a następnie użyj $pull
usunąć element z null
wartość. Aby to zrobić, musisz upewnić się, że poprawna wartość nie może być null
. W takim przypadku kod może wyglądać tak:
model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } )
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } )