簡體   English   中英

Express, mongoose 將MongoDB的值顯示成一個div

[英]Express, mongoose display MongoDB values into a div

從 mongoDB 和 mongoose 開始,我有一個名為“Twitter”的數據庫,其中包含一個名為 userPost 的集合。 我有我的 server.js 連接到數據庫和服務器設置。 以及路由文件夾中的 pages.js 文件,它路由每個頁面。

我希望將數據庫數據顯示到名為“測試”的 div 中。

router.get('/', function(req, res) {
res.render('index.ejs', {
 });
}); 

這是我的主頁路由代碼,我知道在 { 之后我應該放一些類似 id_of_div:database_value 的東西。 但是我在這樣做時遇到了一些問題,因此將不勝感激。 謝謝!

我創建了一個 model 架構:

let mongoose = require('mongoose');
var Schema = mongoose.Schema;

var postSchema = new Schema({
    username: { 
        type: String,
        required: true 
    },
    content: { 
        type: String,
        required: true 
    },
});

let userPost = module.exports = mongoose.model('userPost', postSchema);

但我不知道如何進行。

<div id="posts">
</div>

這是我在 index.ejs 文件中的一個表單下的 div。

您需要做的就是在路由器模塊中導入模塊架構並渲染它。 您的路線和應用程序模塊文件將如下所示

***userRoutes.js***

var express = require('express');
var userPostModel = require('./userPostModel');

const userRouter = express.Router();

function router() {
    userRouter.route('/').get((req, res, next) => {
        userPostModel.find({})
            .then(function (userDetails) {
                res.render('index', {
                    userDetails
                });
            }, function (err) {
                next(err);
            });
        next();
    }); 

    return userRouter;
}

module.exports = router;

以下是示例 app.js 文件

***app.js***

var express = require('express');
var userRoutes = require('./userRoutes');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.use('/user', userRoutes());
app.set('views', './src/views');
app.set('view engine', 'ejs');

app.listen(3000, function() {
    console.log("Listening to port");
})

以下是您可以在 html 文件中使用它的方式

<html>
    <head>
    </head>
    <body>
        <div>
            <h1><%userDetails.username%></h1>
        </div>
    </body>
</html>

暫無
暫無

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

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