How to prepare $set prams dynamically for mongodb.update?

I am using mongo db on nodejs. I am trying to update record by unique key. I can update in case single field. Fields information passed by html request in post. I failed to prepare $set argument dynamically when request passed multiple parameters in post request. Any idea?

How to prepare $set parameters in run time on node.js server.

code:

var collection = db.collection('test', function(err, collection) {

 var args = { field1: 1 };

 if(req.hasownproperty('field2'))
 {
   //prepare field2 information
 }

//How to prepare multiple arguments? like {field2: 2},...{fieldn:n}. I want to prepare these parameters dynamically and send to $set. How?

 collection.update({unique_key_field: val}, {$set: args}, w:1, function(e, r) {
     if(r === 1) console.log('succ');
 });;
});  

Thanks.

Structure it like this:

var args = {};
if(field1){
   args.field1 = field1;
}
if(field2){
   args.field2 = field2;
}
collection.update({unique_key_field: val}, {$set: args}, {w:1}, function(e, r) {
   if(r) console.log('success');
});;