Database

[{"userId":1,"addresses":[1,2,3]}]

Query

db.collection.update({"userId":1},[{"$set":{"addresses":{"$setUnion":[{"$filter":{"input":"$addresses","as":"a","cond":{$ne:["$$a",3]}}},[4]]}}}])

Result