За $pullAll
за да работите, трябва да съответствате точно на целия обект и не можете да използвате само едно поле (дори да се нарича _id).
Така че ще трябва да включите и името в командата за актуализиране (и полетата също трябва да са в същия ред).
Командата, която наистина искате да използвате, е $pull
, което прави това, от което се нуждаете тук, т.е. отговаря на критериите за филтриране:
Въпреки че се нарича "издърпване без всички", той изтегля всички съответстващи елементи , не само един. „Всички“ просто означава, че имате един филтър (докато pullAll има множество елементи за съпоставяне).