sql >> Databáze >  >> NoSQL >> MongoDB

Odebrání prvku z pole v mongodb

$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 } } ) 



  1. mongodb a nebo combo

  2. Přístup k vnořeným objektům v MongoDB

  3. Jak nahradit zastaralý ScriptDb Mongodb pomocí služby URL Fetch?

  4. Odešla metoda AsQueryable v novém ovladači Mongodb C# 2.0rc?