Javascript Node/Express获取示例

Javascript Node/Express获取示例,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我很想知道最好的方法来解决这个问题 我有一条路线,如下所示 router.get('/weeks/:week', auth, function (req, res, next) { Game.find({ 'Week': req.params.week }, function(err, games) { if (err) { return next(err); } res.json(games); }); }); 这很有效。它返回params中经

我很想知道最好的方法来解决这个问题

我有一条路线,如下所示

router.get('/weeks/:week', auth, function (req, res, next) {
  Game.find({ 'Week': req.params.week }, function(err, games) {
    if (err) {
        return next(err);
    }
    res.json(games);
  });
});
这很有效。它返回params中经过一周的每个游戏

现在,我有一个精选集,每个精选集上都有一个游戏Id。我想在同一路线上返回每场比赛的相关选秀权

如何扩展此函数以获取与我返回的游戏相关的拾取


谢谢你的帮助

您应该更新Pick schema,然后使用populate函数。这个例子可能会对你有所帮助

更新PickSchema

var mongoose = require('mongoose');
var GameSchema = new mongoose.Schema({
    Home: { type: String, required: true },
    Away: { type: String, required: true },
    Week: { type: Number },
    Game: { type: Number },
    Date: { type: String },
    Time: { type: String },
    HomeScore: { type: Number },
    AwayScore: { type: Number },
    Winner: {type: String},
    pick: { type: mongoose.Schema.Types.ObjectId, ref: 'Pick' }
});
module.exports = mongoose.model('Game', GameSchema, 'games');
然后在路由器中使用填充功能

router.get('/weeks/:week', auth, function (req, res, next) {
    Game
    .find({ 'Week': req.params.week })
    .populate('pick')
    .exec(function (err, games) {
        if (err) {
            return next(err);
        }
        res.json(games);
    });
});
你看一下

注意:在创建游戏模型时,请不要忘记将拾取添加到游戏中


我希望这将有助于你用火力攻击它,然后让我们知道相关的选择是什么?这意味着什么?Pick系列与游戏系列的关系如何?你只有游戏ID吗?或者在这两个集合之间有某种引用吗?这是我的PickSchema
var mongoose=require('mongoose');var PickSchema=new mongoose.Schema({作者:{type:String},获胜者:{type:String},正确:{type:Boolean},游戏:[{type:mongoose.Schema.Types.ObjectId,ref:'game'}]});module.exports=mongoose.model('Pick',PickSchema)这是我的游戏模式
var mongoose=require('mongoose');var GameSchema=new mongoose.Schema({Home:{type:String,required:true},AwayScore:{type:Number},Week:{type:Number},Game:{type:Number},Date:{type:String},Time:{type:String},HomeScore:{type:Number},AwayScore:{type:Number},Winner:{type:String});module.exports=mongoose.model('Game',gamesschema',games')但如果需要,可以编辑/更改它们