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
Best Answer
It will work for conditional $set update operation
http://docs.mongodb.org/manual/reference/operator/update/setOnInsert/
Here setOnInsert will set defaultQty only when a new record is inserted. Both $set and $setOnInsert can be used together.