express + mongodb 搭建一个简易网站 (五)
前面已经将导航中的“所有宝贝”页面连上了mongodb,现在我们就把其他的页面脸上数据库,将整个网站全部实现。
打开routes文件,找到jacket.js,将里面的代码修改如下:
var express = require('express'); var router = express.Router(); var goods = require('../models/goods.js'); // 载入mongoose编译后的模型movie router.get('/', function(req, res) { goods.findByKind('2', function(err, goods) { if (err) { console.log(err); } res.render('jacket',{ goods: goods }) }) })
module.exports = router;
然后继续找到pants.js,将里面的代码修改为:
var express = require('express'); var router = express.Router(); var goods = require('../models/goods.js'); // 载入mongoose编译后的模型movie router.get('/', function(req, res) { goods.findByKind('3', function(err, goods) { if (err) { console.log(err); } res.render('pants',{ goods: goods }) }) }) module.exports = router;
最后找到discount.js,将里面的代码修改为:
var express = require('express'); var router = express.Router(); var goods = require('../models/goods.js'); // 载入mongoose编译后的模型movie router.get('/', function(req, res) { goods.findByKind('4', function(err, goods) { if (err) { console.log(err); } res.render('discount',{ goods: goods }) }) }) module.exports = router;
最后找到schemas文件夹下的good.js,代码修改如下:
var mongoose = require('mongoose'); var goodsSchemas = new mongoose.Schema({ kind: Number, title: String, price: String, url: String }) // goodsSchemas 模式的静态方法 goodsSchemas.statics = { fetch: function (cb) { return this .find({}).sort({"kind": 1}) // 通过kind升序排列 .exec(cb) }, findByKind: function (kind, cb) { return this .find({kind: {"$in": [kind]}}) .exec(cb) } } // 导出 goodsSchemas 模式 module.exports = goodsSchemas;
前面讲了如何插入数据到数据库中,这里需要注意数据是通过kind字段筛选的,所有宝贝对应1,上衣对应2,下装对应3,清仓区对应4。去数据库中插入几条数据吧,然后就可以看看页面长什么样子了。
到这里整个网站的整体样子还是出来了,目前还没做登录注册页面,没做权限管理,后面会把它补全的。