使用nodejs连接mongoDB的详细步骤
步骤一
- 安装nodejs,express,mongodb,mongoose(这里就不多说了~~)
步骤二
用express快速创建一个项目的框架
express -e project
- 参数说明:-e:使用的模板类型,project:项目名称
创建好项目后
- 进入到创建的项目目录
-
cd project
- 安装package.json文件中项目所依赖的包
-
cnpm install
- 启动项目
-
npm run start
- 目录讲解
- node_modules 项目中依赖的包
- public 静态目录(放公共资源的)
- routes 路由(存放一些路由文件)
- views 视图(存放页面文件)
- app.js 项目的入口文件
步骤三
设计数据库
连接数据库
- 在项目根目录下创建一个model文件夹,然后在创建一个data.js(存放数据)和goods.js
- goods.js如下
-
// 引入模块
var mongoose=require('mongoose');
//引入data.js
var seafoodList=require('./data.js').seafoodList
// 连接数据库
mongoose.connect('mongodb://localhost:27017/admin')
// 得到数据库连接句柄
var db=mongoose.connection;
//通过 数据库连接句柄,监听mongoose数据库成功的事件
db.on('open',function(err){
if(err){
console.log('数据库连接失败');
throw err;
}
console.log('数据库连接成功')
})
//定义表数据结构
var seafoodModel=new mongoose.Schema({
id:Number,
name:String,
desc:String,
discount:Number,
price:Number,
coin:Number,
remain:String,
img_sm:String,
img_lg:String
},{
versionKey:false //去除: - -v
})
// 将表的数据结构和表关联起来
var seafoodModel=mongoose.model("seafoodList",seafoodModel,"goods");
// 添加数据
seafoodModel.insertMany(seafoodList,function(err,result){
if(err){
console.log("数据添加失败");
throw err;
}
console.log("数据添加成功:",result);
})
//导出数据
module.exports={
seafoodModel:seafoodModel
}
步骤四
在routes下创建goods.js
//引入express模块
var express=require("express")
//引入数据模块
var goodsData=require("../model/goods").seafoodModel;
//获取路由对象
var router=express.Router();
//商品管理页
router.get('/goods',function(req,res){
res.render('index/index')
})
//商品信息
router.get('/goodsList',function(req,res){
goodsData.find({},function(err,result){
if(err){
console.log("查询失败")
throw err
}
console.log("查询结果",result)
res.render('goods/goodsList',{title:'商品信息',goodsList:result})
})
})
module.exports=router;
步骤五
在views下创建goods文件夹,在goods下创建goodsList.html
最后ejs转为html
app.set('views', path.join(__dirname, 'views'));
app.engine(".html", ejs.__express);
//设置模板引擎类型
app.set('view engine', 'html');