Splitting up a string and passing it to a function

I am having some trouble trying to pass string objects to a function. In the query string of the url I pass fields which is a comma delimited string containing the attributes of interest.

I put the names of those attributes in the fields array. However now I am having trouble passing that information to a function.

In the code below the query.pluck('id', 'name') works, the query.pick( fieldString ) does not.

I am stuck on this one, how can I pass the attribute names in the fields array to the function so it will work?

Please advice.

 var log = require('logule').init(module,'query');
 var url = require('url');

 module.exports = {

   build : function(req, entity, callback) {
     var isCollection;
     isCollection = req.params.id? false: true;
     var query = req.rethink.table(entity);
     parsedUrl = url.parse(req.url, true);

     console.log(isCollection);

     if (parsedUrl.query.fields) {
       var fields = parsedUrl.query.fields.split(',');
       var total = fields.length;

       fieldString = fields[0]; 
       for (var i = 1; i < total; i++) {
         fieldString += ', ' + fields[i];
       }

       if (isCollection) {
         var query = query.pluck('id', 'name');      
       } else {
         var query = query.get(req.params.id).pick( fieldString );
       }
     }

     return callback(null, query);
   }
 }

You don't need to put fields in a string, just use

var query = query.get(req.params.id).pick.apply(this,fields);

You need to use the "apply" function with the function name, and an array of parameters (fields in your case)

var query = query.get(req.params.id).apply('pick', fields);