簡體   English   中英

無法從mongodb獲取數據並將其顯示為html

[英]can't fetch data from mongodb and display that into html

模型名為Field.js

    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost:27017/SuperchainV1', { 
    useNewUrlParser: true });
    mongoose.set('useNewUrlParser', true);
    mongoose.set('useFindAndModify', false);
    mongoose.set('useCreateIndex', true);
    const db = mongoose.connection;
    const FieldSchema = mongoose.Schema({

    productID: {
    type: String
    },
    productName:{
    type: String
    },
    fieldLocation: {
    type: String
    },
    farmerName: {
    type: String
    },
    farmerMobile: {
    type: String
    },
    farmerNid: {
    type: String
    },
    date: {
    type: Date,
    default: Date.now
    }
    });


    const Field = mongoose.model('Field', FieldSchema);
    module.exports = Field;

路由index.js

   router.get('/dashboard', ensureAuthenticated, (req, res) => {
   let field = Field.find({})
   .sort({date:'desc'}).exec( (err, field) => {
    res.render('dashboard', field);
        });
     })

dashboard.ejs我想在獲取后顯示數據

    <div class="jumbotron">
       <p class="lead">
         <% field.productID %>
         <% field.productName %>
         <% field.fieldLocation %>
         <% field.farmerName %>
         <% field.farmerNumber %>
         <% field.farmerNid %>
        </p>
    </div>

錯誤我得到“字段未定義”

我想從集合字段中獲取數據並將所有數據顯示到名為dashboard的ejs頁面中我試過這個但總是得到錯誤字段未定義。

您需要在ejs模板中使用for循環

<% for(var i=0; i < field.length; i++) { %>
   <div class="jumbotron">
       <p class="lead">
         <%= field[i].productID %>
         <%= field[i].productName %>
         <%= field[i].fieldLocation %>
         <%= field[i].farmerName %>
         <%= field[i].farmerNumber %>
         <%= field[i].farmerNid %>
        </p>
    </div>
<% } %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM