code: function(list) {
          return Promise.all(list.map(mongoExecMap));
  
          function mongoExecMap(opt) {
            let arg = opt.arg || [];
            let model = opt.model;
            let fun = opt.fun;
  
            // 如果fun是generator则转成Promise
            let execfun = (fun.constructor.name === 'GeneratorFunction') ? co.wrap(fun) : fun;
  
            // fun有可能不是Promise, 利用mongoose中的exec()方法转为promise
            // 参考：http://mongoosejs.com/docs/promises.html
            let execRes = execfun.apply(model, arg);
            return execRes.exec ? execRes.exec() : execRes;
          }
        }
docs: mongoMap
  @param {Array} list mongo请求列表
  {Object}    list[].model 模型
  {Array}     list[].arg 参数
  {Function}  list[].fun 模型方法