2016-04-12 6 views
2
を使用して存在していないルート

すでにマングース

app.get('/node/:id', function(req, res){ 

}); 

のように、このIDが認識されないので、それのためのルートがまだ存在していないと言う、私は私のファイルに次のルートを持っていると言うの追加データベースにはまだ存在しません。このIDのルートを生成し、そのIDをデータベースに保存するにはどうすればよいですか?

+0

findOrCreate-Pluginを使用して、見つからないノード(?)を作成できます(https://github.com/drudge/mongoose-findorcreate)。しかし、私はあなたがMongooseとExpressを混同していると思います。 –

+0

確かに私のデータベースにそのIDを追加するために使用できるapp.postメソッドがありますか? – Django

+0

Expressには 'app.post()'メソッドがあります。エクスプレスドキュメント:http://expressjs.com/en/4x/api.html#app.post.methodで読むことができます。 Mongooseで新しいObjectを追加するには、 'YourModel.create()'を呼び出します。まだ何か試しましたか? –

答えて

0

mongoose-findorcreateを使用して、データベースにidが存在するかどうかをチェックし、存在しない場合はオブジェクトを作成するか、見つかったオブジェクトで必要なロジックを実行することができます。

req.params.idを使用して、ワイルドカード:idにアクセスできます。

app.get('/node/:id', function(req, res){ 
    Model.findOrCreate({ _id: req.params.id }, function(err, click, created) { 
    // created will be false here 
    console.log('Did not create a new click for "%s"', click.ip); 
    }) 
}); 

mongoose-findorcreateリポジトリの完全な例です。