MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como remover um documento dentro de um array no mongodb usando $ pull


Você pode fazer isso usando o operador posicional "$[]" :
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2")  }, {$pull: {"workflows.$[]":{pName:"Test1"  } }  } )

mas o esquema parece um pouco estranho e após a atualização você terá arrays vazios dentro de workflows se todos os elementos foram deletados no sub-array.
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2")  }, {$pull: {"workflows":[]  } }   )