美文网首页
使用mongoodb创建数据并用ejs模板渲染页面(数据交互之后

使用mongoodb创建数据并用ejs模板渲染页面(数据交互之后

作者: 大南瓜鸭 | 来源:发表于2020-10-16 08:37 被阅读0次

第一步:创建数据

1.在cmd命令中启动mongodb

$ mongod --dbpath=C:\db --port=27017

2.另开一个cmd,启动数据库操作

$ mongo

3.创建一个新数据库,并添加数据

//创建数据库
$ use movie
//添加数据
$ db.movie.insert([{"name":"我和我的家乡","star":"葛优"},{"name":"夺冠","star":"巩俐"},{"name":"姜子牙","star":"姜子牙"}])
//查看数据
$ db.movie.find()

第二步:链接数据库

// 引入mongoose数据库工具
var mongoose = require('mongoose'); 
// 链接数据库
mongoose.connect('mongodb://localhost:27017/movie', (err) => {
    if (err) {
        console.log('数据库连接失败');
        return;
    }
    console.log('数据库连接成功');
}) 

第三步:获取数据

// 用schema定义集合
var schema = mongoose.Schema({
    // 规定数据的类型
    "name": String,
    "star": String
});
// model是由schema生成的模型
var model = mongoose.model('movie', schema, 'movie')
// 用model对数据库进行查询
model.find().then((infos) => {
    console.log(infos)
    //将第五步代码添加到此行
}) 

第四步:链接服务器

// 引入express后端框架
var express = require('express');
// 创建一个app应用,所有功能方法都是基于这个app应用去使用的
var app = express();
// 链接服务器
app.listen(3000, 'localhost', (err) => {
    if (err) {
        console.log('服务器启动失败');
        return;
    }
    console.log('服务器启动成功');
});

第五步:使用ejs模板渲染数据

// 表示模板的根目录
app.set('views', './mys');
// 表示模板的引擎
app.set('view engine', 'ejs');
// 链接前端页面
app.get('/movie', (req, res, next) => {
    //render()用来渲染模板
    res.render('movie', {
        // 传给前端的数据
        message: infos
    });
});

js部分就写好啦,我们来康康完整代码

var mongoose = require('mongoose');
var express = require('express');
var app = express();
// 连接数据库
mongoose.connect('mongodb://localhost:27017/movie', (err) => {
    if (err) {
        console.log('数据库连接失败');
        return;
    }
    console.log('数据库连接成功');
})
// 获取数据
var schema = mongoose.Schema({
    "name": String,
    "star": String
});
var model = mongoose.model('movie', schema, 'movie')
model.find().then((infos) => {
    // 模板渲染
    app.set('views', './mys');
    app.set('view engine', 'ejs');
    app.get('/movie', (req, res, next) => {
        res.render('movie', {
            message: infos
        });
    });
})
// 连接服务器
app.listen(3000, 'localhost', (err) => {
    if (err) {
        console.log('服务器启动失败');
        return;
    }
    console.log('服务器启动成功');
});

第六步:新建一个mys文件夹,创建movie.ejs文件,将以下代码写入

    <h3>最新电影</h3>
    <% message.forEach((v)=>{ %>
    <li>
        <strong><%= v.name %>-<%= v.star %></strong>
    </li>
    <% }) %>

第七步:打开浏览器,输入链接:localhost:3000/movie

页面效果呈现

效果图.png

相关文章

  • 使用mongoodb创建数据并用ejs模板渲染页面(数据交互之后

    第一步:创建数据 1.在cmd命令中启动mongodb 2.另开一个cmd,启动数据库操作 3.创建一个新数据库,...

  • 17- ejs渲染

    使用ejs的过程0 . 导入第三方包ejs1 . 设置模板2 . 设置数据3 . 使用数据渲染模板 设置模板模板一...

  • 在express中使用ejs模板

    1.安装ejs 注:express内置了ejs,所以不用引入ejs 2.配置ejs模板引擎 3.渲染页面rende...

  • 22 - express 渲染模板(后台渲染)

    express设置的时候处理模板(后台)渲染的时候的特点 使用 ejs 渲染模板(第三方包)一般我们使用 ejs ...

  • node.js分页

    ejs页面中的代码 data是主页渲染,查找返回的数据

    <%a=1%>//声...

  • Django项目——模板的基本使用

    1.概述 模板是HTML页面,把视图传的数据进行展示渲染 2.创建模板 3. 配置模板路径 修改settings下...

  • Node.js 动手实现简单的模板引擎

    根据数据和模板动态渲染页面(实现一个简单的模板引擎) 准备HTML模板文件index.html 创建服务器serv...

  • nodejs使用ejs模板渲染的数组问题

    在用ejs模板进行渲染时遇到这样一个问题,nodejs端返回一个数组,在模板渲染出来的结果不是想要的数据,如下: ...

  • 2017-12-2

    前端和后台之间的数据交互: 在整个开发的过程中,前端的主要作用是页面模板,将数据渲染都交给后端去了,现在,有很...

  • php + smarty

    往模板中写入数据 没有数据可以不写入数据,下面渲染出一个模板: 在模板中渲染出数据 php代码块需要使用<{php...

网友评论

      本文标题:使用mongoodb创建数据并用ejs模板渲染页面(数据交互之后

      本文链接:https://www.haomeiwen.com/subject/pmgapktx.html