Du kan göra upserts i Mongo, se "Upserts with Modifiers" från Mongo-dokumentet:
Du kan använda upsert med en modifieringsoperation. I ett sådant fall kommer modifierarna att tillämpas på medlemmen av uppdateringskriterierna och det resulterande objektet kommer att infogas.
Frågan du behöver kommer att se ut så här:
db.events.update( { "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0" },
{ $push : { "events" : { "profile" : 10, "data" : "X"}}}, {"upsert" : true});