$pop operátor odstraní první nebo poslední prvek pole, který nemusí být nutně ten správný.
Pokud chcete konkrétní prvek, můžete $pull položka s definovanými kritérii:
model.registerCompany.findOneAndUpdate({companyKey:"a key"},
{$pull:{onlineEmployees:"John"}},
Musíte se ujistit, že hodnota v poli je jedinečná pro $pull
odstraní každý prvek odpovídající jménu 'John'.
Pokud v poli existují identické hodnoty, musíte použít $unset
a $
poziční operátor pro nastavení hodnoty cílového prvku na null
($unset bohužel neodstraní prvky) a poté použijte $pull
k odstranění prvku pomocí null
hodnota. Chcete-li to provést, musíte se ujistit, že platná hodnota nemůže být null
. V takovém případě by kód mohl vypadat takto:
model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } )
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } )