Für $pullAll
Um zu funktionieren, müssen Sie das gesamte Objekt genau abgleichen und können nicht nur ein Feld verwenden (selbst wenn es _id heißt).
Sie müssten also auch den Namen in den Update-Befehl aufnehmen (und die Felder müssen auch in der gleichen Reihenfolge sein).
Der Befehl, den Sie wirklich verwenden möchten, ist $pull
, was das tut, was Sie hier brauchen, d. h. übereinstimmende Filterkriterien:
Obwohl es "ohne alle ziehen" heißt, zieht es alle passenden Elemente , nicht nur einer. Das "all" bedeutet nur, dass Sie einen Filter haben (wobei pullAll mehrere Elemente hat, die übereinstimmen müssen).