Puoi fare upsert in Mongo, vedi "Upsert con modificatori" dal documento Mongo:
Puoi usare upsert con un'operazione di modifica. In tal caso, al membro dei criteri di aggiornamento verranno applicati i modificatori e verrà inserito l'oggetto risultante.
La query di cui hai bisogno sarà simile a:
db.events.update( { "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0" },
{ $push : { "events" : { "profile" : 10, "data" : "X"}}}, {"upsert" : true});