使用nodejs连接mongoDB的详细步骤

使用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 项目的入口文件

步骤三

设计数据库

  • 打开cmd(以管理员的身份)
  • 连接数据库(出现版本号就代表连接成功啦)
  • mongo
  • 查看所有数据库
  • show dbs
  • 创建一个名为admin的数据库
  • use admin
  • 进入admin
  • db
  • 在admin下创建一张表
  • db.createCollection("goods")
  • 查看表
  • show tables

连接数据库

  • 在项目根目录下创建一个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

  • goodsList.html主要代码如下


















  • <% for(var item in goodsList){%>










    <% }%>

    id name desc discount coin remain img_sm img_lg
    <%= goodsList[item].id%> <%= goodsList[item].name%> <%= goodsList[item].desc%> <%= goodsList[item].coin%> <%= goodsList[item].remain%> <%= goodsList[item].discount%> <%= goodsList[item].img_sm%> <%= goodsList[item].img_lg%>


最后ejs转为html

app.set('views', path.join(__dirname, 'views'));
app.engine(".html", ejs.__express);
//设置模板引擎类型
app.set('view engine', 'html');

posted on 2017-12-11 21:08  溢流谦  阅读(658)  评论(0)    收藏  举报

导航