$pullAll
演算子は実際には「特殊なケース」であり、主に単一の「スカラー」配列要素を対象としており、使用方法のサブドキュメントを対象としていません。
代わりに、 $pull
を使用してください
これにより、各要素が検査され、 $or
ドキュメントリストの条件:
db.streams.update(
{ "user": "user_name" },
{ "$pull": { "streams": { "$or": streamsB } }}
)
そうすれば、フィールドがどの順序にあるか、または実際に現在の$pullAll
として「完全一致」を探すかどうかは関係ありません。 操作は実際に実行されています。