Jeg løb ind i nøjagtig det samme problem, og der var ingen enkel løsning til <2.4, men siden 2.4 var $setOnInsert operatør lader dig gøre præcis det.
db.collection.update( <query>,
{ $setOnInsert: { "firstTime": <TIMESTAMP> } },
{ upsert: true }
)
Se 2.4 release notes for setOnInsert for mere info.