2

データベース内のすべてを表示するリストを作成しようとしteamsています。そして、私はエラーを受け取りTypeError: Invalid select() argument. Must be a string or object.ます誰かがこれを解決する方法を理解するのを手伝ってくれますか?現在のチームのリストを印刷するために使用したいのですが、このリストをクリックすると、基本的にチーム名を編集できます。

だから私SchemaのためTeamに私はこれを持っています:

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

ここでの参考のために、index.jsからの他の関連部分がありますroutes

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

1 に答える 1

1

試す

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

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

于 2012-12-24T01:58:53.043 に答える