节点/快速获取示例

时间:2016-09-08 13:23:17

标签: javascript node.js express mongoose

我很好奇这是攻击它的最好办法。

我有一条路线,如下所示

cv[np.nan]

这很有效。它会返回每个游戏中的游戏。

现在,我有一个Pick系列,每个选秀权都有一个游戏ID。我想在同一条路线上为每场比赛返回相关的选秀权。

我如何扩展此功能以获得与我回来的游戏相关的选择?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您应该更新Pick模式,然后使用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');

然后在路由器中使用populate函数

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

您看一看mongoose populate function

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

我希望这会对你有所帮助