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')代码>但如果需要,可以编辑/更改它们