2017-08-09 80 views
1

我已經定義上的貓鼬這種架構模式:顯示客戶只有在MongoDB的節點JS存在收集

var mongoose = require("mongoose"); 

var IngredientSchema = new mongoose.Schema({ 
    name:String, 
    number:Number, 
    exist:Boolean, 
    photoName:String 
}) 

module.exports = mongoose.model("Ingredient", IngredientSchema); 

而且我想在網頁上顯示這取決於是否有一種成分已經是一個不同的結果在數據庫上創建或不創建。

這裏是我試過到目前爲止(但它不工作):

<!-- Check if inventory is empty or not, and display accordingly --> 
<% if (! ingredients) { %> 

    <p>Add you first ingredient to the inventory !!</p> 

<% } else { %> 

    <% ingredients.forEach(function(ingredient) { %> 
    ... 
    ... 

這是我的路線:

// Index route 
app.get("/inventory", function(req, res) { 
    Ingredient.find({}, function(err, allIngredients) { 
     if (err) { 
      console.log(err); 
     } else { 
      res.render("inventory", { ingredients:allIngredients });   
     } 
    }) 
}) 

非常感謝您的幫助。

+1

'如果(ingredients.length> 0)''因爲是ingredients' 「陣列」。它從來沒有定義過,但是當沒有結果時,它是空的。 –

+0

@NeilLunn您的解決方案也可行。謝謝 –

回答

0

只是檢查成分數組的長度:

<!-- Check if inventory is empty or not, and display accordingly --> 
    <% if (!ingredients.length) { %> 

     <p>Add you first ingredient to the inventory !!</p> 

    <% } else { %> 

     <% ingredients.forEach(function(ingredient) { %> 
     ... 
     ... 
+1

感謝@Evgeny,您的解決方案奏效 –