2016-09-08 11 views
-1

私はこれを攻撃する最善の方法について興味があります。ノード/エクスプレスの入手例

私は、次の

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で渡された1週間の各ゲームを返します。

今、私はピックコレクションを持っていて、各ピックにはゲームIDがあります。この同じルートで各ゲームの関連ピックを返したいと思います。

戻ってくるゲームで、関連するピックを取得するにはどうすればこの機能を拡張できますか?

ありがとうございました!

+0

それを攻撃してから、関連するピックは何かをお知らせください。これは何を意味するのでしょうか ? – Pogrindis

+0

Pickコレクションはゲームコレクションにどのように関連していますか?あなたはゲームIDだけを持っていますか?あるいは、2つのコレクションの間にある種の参照がありますか? –

+0

ここに私のPickSchema 'var mongoose = require( 'mongoose')があります。 VaRのPickSchema =新しいmongoose.Schema({ 著者:{タイプ:文字列}、 勝者:{タイプ:文字列}、 正しい:{型:Boolean}、 ゲーム:[{タイプ:mongoose.Schema.Types .ObjectId、ref: 'Game'}] }); module.exports = mongoose.model( 'Pick'、PickSchema); ' – bak

答えて

1

ピック・スキーマを更新してから、移入機能を使用する必要があります。するのを忘れないでください:この例では、あなたが見てmongoose populate function

注意を持っていルータ

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

をあなた

更新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'); 

を助け、そしてあなたに移入機能を使用することができますゲームモデルを作成しながらゲームにピックを追加する

これがあなたを助けてくれることを願っています

関連する問題