Saya mengalami masalah yang sama persis dan tidak ada solusi sederhana untuk <2.4 namun sejak 2.4 $setOnInsert operator biarkan Anda melakukan hal itu.
db.collection.update( <query>,
{ $setOnInsert: { "firstTime": <TIMESTAMP> } },
{ upsert: true }
)
Lihat 2.4 catatan rilis setOnInsert untuk info lebih lanjut.