mongoDB学习(二)

学习了mongoDB可以学习mongoose。他们的关系就相当于js于jq的关系一样。
利用npm install mongoose --save来安装mongoose。
在后端的模块中建立goods.js文件,并引入mongoose。用来创建与数据库相关的对象。

const mongoose = require("mongoose");//引入mongoose
const Schema = mongoose.Schema;//调用Schema的api用来创建对象。
const productSchema = new Schema({
    "productId": {type:String},
    "productName": String,
    "salePrice": Number,
    "productImage":String
});//创建productSchema对象,对象的属性要和数据库中的参数相对应。
module.exports = mongoose.model('Good',productSchema);//暴露出对象接口。\n
此处的Good会自动与数据库中的goods链接。一定是goods。如果不是goods。需要改写为
module.exports = mongoose.model('Good',productSchema,'mongoName')//mongoName为数据集合的名字。

在routes文件夹中建立路由goods.js,用来相应http跳转,和数据的链接。

var express = require("express");//利用express的Router()api来创建路由。
var router = express.Router();
var mongoose = require("mongoose");
var Goods = require("../models/goods");//引入之前创建的后端数据对象。
// 链接数据库。(通过账号密码去链接。)
// mongoose.connect('mongodb://root:123456@127.0.0.1:27017/demo',{ useNewUrlParser: true ,useUnifiedTopology: true})
mongoose.connect('mongodb://127.0.0.1:27017/demo',{ useNewUrlParser: true ,useUnifiedTopology: true});
//数据库链接的一个状态监控。
mongoose.connection.on("connected",()=>{
    console.log("connected success....")
})//链接。
mongoose.connection.on("error",()=>{
    console.log("connect on error.....")
})//链接错误
mongoose.connection.on("disconnected",()=>{
    console.log("disconnected is fail.....")
})//断开连接
//响应get请求。Goods.find({},()=>{}),查询并且执行回调函数。
router.get("/",(req,res,next)=>{
   Goods.find({},(err,doc)=>{
       if(err) {
           res.json({
               status: '1',
               msg: err.message
           })
       }else{
           res.json({
               status: '0',
               msg:'',
               result:{
                   count: doc.length,
                   list: doc
               }
           })
       }
   })
})
module.exports = router;//输出router接口。
在app.js中配置一级路由goodsRouter.

在这里插入图片描述
当访问“/goods”的时候,执行app.use(’/goods’,goodsRouter)。
然后执行"./routes/goods"的文件做出响应。
由于前端的端口是8080,后端的端口是3000,需要做一个跨域代理处理。
代理处理在前端模块config文件夹的index.js中处理。
在这里插入图片描述

proxyTable:{
"/goods":{
        target:'http://127.0.0.1:3000',
        changeOrigin:true,
        secure:true,
        pathRewrite:{
            '^goods':''
        }
      },
}

此时访问http://localhost:8080/goods 就可以看到响应了。

思路整理:
1、创建与数据库相对应的对象模型,用来映射到数据库mongoose.Schema。
2、利用mongoose.connect来链接数据库。
3、利用express的Router来创建路由。
4、在app.js中设置一级路由。
5、在config的index.js中设置跨域代理。
然后就可以执行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值