De $pullAll
operator is echt een "speciaal geval" dat vooral bedoeld was voor enkele "scalaire" array-elementen en niet voor subdocumenten zoals u het gebruikt.
Gebruik in plaats daarvan $pull
die elk element inspecteert en een $or
voorwaarde voor de documentenlijsten:
db.streams.update(
{ "user": "user_name" },
{ "$pull": { "streams": { "$or": streamsB } }}
)
Op die manier maakt het niet uit in welke volgorde de velden staan of zoekt u inderdaad naar een "exacte overeenkomst" zoals de huidige $pullAll
operatie daadwerkelijk aan het doen is.