0

私は Express.js と Mongodb を使用して Node.js アプリに取り組んでいますが、それを私と連携させるのに問題があります。このアプリは基本的に、材料を含むレシピのリストです。アプリを起動すると正常に動作します。クリックしてレシピを表示すると、正しいレシピが表示されますが、2 番目に新しいレシピを作成すると、「動かなくなった」ように見え、新しく作成されたレシピしか表示されません。しかし、一番上に正しいレシピのタイトルが表示されます。これは本当に私を混乱させます。

それがまったく役立つ場合に何が起こっているかのスクリーンショットを次に示します。エッグ ベネディクト レシピを作成し、既存の「チリ」レシピをクリックすると、次のようになります。

問題

これが私のコードです:

Recipe_show.jade

h1= title
  div.recipe
    div.name= recipe.name
      - each ingredient in recipe.ingredients
        div.ingredient
          div.amount= ingredient.amount
          div.measurement= ingredient.measurement
          div.type= ingredient.type

レシピプロバイダー.js

//find an recipe by ID
RecipeProvider.prototype.findById = function(id, callback) {

    this.getCollection(function(error, recipe_collection) {
      if( error ) callback(error)
      else {
       recipe_collection.findOne({_id: recipe_collection.db.bson_serializer.ObjectID.createFromHexString(id)}, 
        function(error, result) {
          if( error ) callback(error)
          else callback(null, result)
    });
  }
});

};

app.js

// show individual recipes
app.get('/recipe/:id', function(req, res) {
    recipeProvider.findById(req.params.id, function(error, recipe) {
    res.render('recipe_show.jade', {
        title: recipe.name,
        recipe: recipe
    });
});
});
4

0 に答える 0