显示从mongodb到网页的数据

显示从mongodb到网页的数据

我是nodejs的新手,并且想使用express和nodejs连接mongo数据库。我希望数据从数据库显示到网页。

//////模型架构///////

import mongoose from 'mongoose';

const Schema=mongoose.Schema;

let Data=new Schema({     
    learningEvents:{
        type:String
    },learningactivities:{
        type:Array
    },indicators:{
        type:Array
    }
});

export default mongoose.model('Data',Data);

/////////////节点js的完整代码/////////////////

import express from 'express';
import cors from 'cors';
import bodyParser from 'body-parser';

import Data from './models/data';

import mongoose from 'mongoose';
import data from './models/data';

const app=express();
const router=express.Router();

app.use(cors());
app.use(bodyParser.json());

mongoose.connect('mongodb://localhost:27017/data');
const connection=mongoose.connection;

connection.once('open',()=>{
    console.log("Mongodb connected successfully");
});

router.route('/').get((req,res)=>{

        res.send('Hello');

    });

router.route('/data').get((req,res)=>{
    Data.find((err,Data)=>{
        if(err)
        console.log(err);
        else
        res.json(Data);

    });
});

app.use('/',router);

app.listen(4000,()=>console.log('Express server is running on port 4000'));
tfqguo 回答:显示从mongodb到网页的数据

要在网页上显示动态数据,您需要使用模板引擎,例如ejs把手等。对于ex,您无法使用html进行同样的操作:

    blog.find({},function(err,blogs){
        if(err){
            console.log("An Error Occured");
            console.log(err);
        }
        else{
            res.render("index",{blogs: blogs});
        }
    });

其中index是一个ejs文件,我们将所有博客数据传递到其中。可以在ejs模板中呈现,例如

<% blogs.forEach(function(blog){ %>
    <div class = "ui top attached segment">
    <div class = "ui huge header"><%= blog.title %></div>
    <div>
        <div class = "item">
            <img class = "ui centered image"src = "<%= blog.image %>"></img>
        </div>
        <div class = "description">
            <p><%- blog.body.substring(0,400) %></p>
        </div>
        <a href = "/blogs/<%= blog._id %>">Read More</a>
        <br>
        <div class = "item">
            <span><%= blog.created.toDateString() %></span>
        </div>
        </div>
        <hr>
        </div>
<% }); %>

链接到ejs Docs

本文链接:https://www.f2er.com/3127872.html

大家都在问