Nodejs

2016-06-27 7 views
1

でのMongoDBモデルに値をプッシュHI私は相互されている2つのデータモデルでMEAN stackを使用しています:Nodejs

ポストと

コメントだから私のPostSchemaに私は

comments:{ 
     type:mongoose.Schema.Types.ObjectId, 
     ref:'Comment' 

、私の中に持っていますCommentSchema私が持っている

post:{ 
     type:mongoose.Schema.Types.ObjectId, 
     ref:'Post' 
    } 

私は自分のビューにコメントを入力します。バックエンドでコメントコレクションにコメントを保存し、コメントをPostコレクションに保存します。私のサーバーapp.jsファイルで

:しかし

comment.save(function(err,comment){ 
     if(err){return next(err);} 
     var post = new Post(req.post) 
     post.comments.push(comment) 
     // OR req.post.comments.push(comment);etc 
     post.save(function(err,post){ 
      if(err){return next(err);} 

      res.json(comment); 
     }) 
    }) 

、私はpost.comments.pushまたはreq.post.comments.pushを使用し、私はpush is not a functionコマンドラインにエラーメッセージが表示されます。

上記のコードはオンラインチュートリアル[1]からのものです。私はネットを検索したが、使用されているpushの同様の例が見つかりませんでした。

私はpushで欺かれているのかどうか、私はこれをやるべき別の方法があるのか​​どうか教えてください。あなただけの1(標準)コメントコメントの配列を定義しなかったが、同じよう

は、[1] https://thinkster.io/mean-stack-tutorial#wiring-everything-up

+0

エラーは 'post.comments'は配列ではないことを意味します。 – Shrabanee

答えて

1

は、したがって、それが配列でないと、それは「プッシュ」メソッドを持っていない、見えます。定義は次のようになります。

comments:[{ 
     type:mongoose.Schema.Types.ObjectId, 
     ref:'Comment'}] 
+0

それは、ありがとうございました! –