我正在使用Express.js和Mongodb开发Node.js应用程序,我在与它合作时遇到了一些麻烦。该应用程序基本上是食谱列表与它的成分。我启动应用程序时它工作正常。我可以点击查看食谱,它显示正确的一个,但第二个我创建一个新的它似乎被“卡住”,我将看到的唯一配方是新创建的。但它显示了顶部正确食谱的标题。这让我很困惑。
如果这有帮助的话,这里有一个屏幕截图。当我创建一个班尼迪克蛋食谱并点击已经存在的“辣椒”食谱时,就会发生这种情况:
这是我的代码:
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
recipeprovider.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
});
});
});