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

我想创build一个列表来显示我的数据库中的所有teams 。 我得到错误TypeError: Invalid select() argument. Must be a string or object. TypeError: Invalid select() argument. Must be a string or object. 任何人都可以帮我弄清楚如何解决这个问题? 我只想用它来打印一个当前队伍的列表,然后可以点击这个队列来编辑队伍名称!

所以在我的Team Schema ,我有这样的:

 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 }); } }); }); 

尝试

 var query = this.find({}, 'key name', cb); 

https://github.com/LearnBoost/mongoose/issues/1087