Mongodb update conditional set operator ($set only when it is insert ) Is there anything in Mongo update where $set when will work only when an insert is done.

example is  I have a collection which has these fields:


Username
FirstOccurrence
Count


What i want that i will run a update operation like this.

coll.update{ q: {username} ,u: {$set:{FirstOccurrence},$inc:count} }


But condition will be if UserName is already existing then it wont run the $set it will just increment the count.

Is it possible to do it I am running Mongo 2.6.4 with Java driver 2.13.0

Regards
Viren
It will work for conditional $set update operation

http://docs.mongodb.org/manual/reference/operator/update/setOnInsert/

db.products.update(
  { _id: 1 },
  {
    $set: { item: "apple" },
    $setOnInsert: { defaultQty: 100 }
  },
  {upsert: true }
)


Here setOnInsert will set defaultQty only when a new record is inserted.
Both $set and $setOnInsert can be used together.