第一步:创建数据
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
页面效果呈现
![](https://img.haomeiwen.com/i20878589/c3bb04ee66fc656d.png)
网友评论