Database
[{_id:1,message:"text1"},{_id:2,message:"text2",reactions:[{_id:autoGen1,user:'bob',reaction:'π'},{_id:autoGen2,user:'bob',reaction:'π'}{_id:autoGen3,user:'meg',reaction:'π΅'}]}]
Query
/** Successfully removes good reaction*db.collection.update({* _id: 2*},*{* $pull: {* "reactions": {* "user": "bob",* "reaction": "good"* }* }*})*/db.collection.update({_id:2},[{$set:{reactions:{$cond:[{$in:[{reactions:{$elemMatch:{user:"bob",reaction:"good"}}},"$reactions"]},"1","2"]}}}])