Node.js -无效的select()参数

Node.js - Invalid select() argument

本文关键字:参数 select js 无效 Node      更新时间:2023-09-26

我试图创建一个列表来显示我的数据库中的所有teams。我得到的错误是TypeError: Invalid select() argument. Must be a string or object.有人能帮我解决这个问题吗?我只是想用它来打印当前球队的列表,这个列表的球队,然后可以点击编辑球队的名字基本上!

SchemaTeam中,我有这个:

Team.statics.getAllMeta = function(cb){
  var query = this.find({}, ['key', 'name'], cb);
  return query.exec(cb);
};

然后在index.js routes中我有这个:

var getAllMeta = function(req, res, next){
  Team.getAllMeta(function(err, teamsList){
    if(!err && teamsList){
      req.teamsList = teamsList;
    }
    next(err);
  });
};

这样我就可以在routes中调用我的team页面,像这样:

  app.get('/team', getAllMeta, function(req, res){
    util.log('Serving request for url[GET] ' + req.route.path);
    res.render('team', {'teamsList' : req.teamsList});
  });

仅供参考,这里是routes

index.js的其他相关部分
  app.get('/', function(req, res){
    logger.log('Serving request for url [GET]' + req.route.path)
    Team.getAll(function(err, allTeams){
      if(!err && allTeams){
        res.render('index', {'allTeams' : allTeams});
      }else{
        util.log('Error fetching team from database : ' + err);
        res.render('error');
      }
    });
  });
  app.get('/show/team/:key', function(req,res){
    Team.findByKey(req.params.key, function(err, teamData){
      if(!err && teamData){
        teamData = teamData[0];
          res.json({
            'retStatus' : 'success',
            'teamData' : teamData
          });
      } else {
        util.log('Error in fetchin Team by key: ' + req.params.key);
        res.json({
          'retStatus' : 'failure',
          'msg' : 'Error in fetching Team by key: ' + req.params.key
        });
      }
    });
  });

Try

var query = this.find({}, 'key name', cb);
https://github.com/LearnBoost/mongoose/issues/1087