Vous pouvez le faire en utilisant l'opérateur positionnel "$[]" :
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2") }, {$pull: {"workflows.$[]":{pName:"Test1" } } } )
mais le schéma semble un peu étrange et après la mise à jour, vous aurez des tableaux vides dans les flux de travail si tous les éléments ont été supprimés dans le sous-tableau. Pour réparer les sous-tableaux vides, vous devrez effectuer une deuxième opération pour les supprimer :
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2") }, {$pull: {"workflows":[] } } )