Es en una situación como esta que usas el $
posicional Operador de actualización. Una cosa a tener en cuenta es que el campo de matriz debe aparecer como parte del documento de consulta. Eso es lo que explica el uso de $exists
aquí.
db.collection.update(
{ "id": "8888", "aloh.saludo": { "$exists": true } },
{ "$pull": { "aloh.$.saludo": { "qwe": "rty", "sad": "fet" } } }
)