Puede hacer upserts en Mongo, consulte "Upserts con modificadores" en el documento de Mongo:
Puede usar upsert con una operación modificadora. En tal caso, los modificadores se aplicarán al miembro de criterios de actualización y se insertará el objeto resultante.
La consulta que necesita se verá así:
db.events.update( { "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0" },
{ $push : { "events" : { "profile" : 10, "data" : "X"}}}, {"upsert" : true});