Per $pullAll
per funzionare, devi abbinare esattamente l'intero oggetto e non puoi utilizzare un solo campo (anche se si chiama _id).
Quindi dovresti includere anche il nome nel comando di aggiornamento (e anche i campi devono essere nello stesso ordine).
Il comando che vuoi veramente usare è $pull
, che fa ciò di cui hai bisogno qui, ovvero la corrispondenza dei criteri di filtro:
Anche se si chiama "pull without all", estrae tutti gli elementi abbinati , non solo uno. Il "tutto" significa solo che hai un filtro (mentre pullAll ha più elementi da abbinare).