react下express+mongodb入门使用

个人用的是create-react-app脚手架创建的APP

Express:用于开发web接口

!!!注意 :

使用脚手架时,node_modules 会自带express,如果再次执行 npm install express –save 安装了 express,
npm start 运行会报错,此时需要
npm uninstall express卸载,然后重新安装就OK了。

安装: npm install express --save

    //目录:  server/server.js
   
    const express = require('express');
    // 新建app
    const app = express(); 
        
    app.get('/', (req, res)=>{
        res.send('<h1>Hello world!</h1>')
    })
    
    app.get('/data', (req, res)=>{
        res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})
    })
        
    app.listen(9093,function(req, res){
        console.log('Node app start at port 9093')
    })
        

进入 server/目录下执行:/> node server.js
运行结果:

《react下express+mongodb入门使用》

localhost:9093/

《react下express+mongodb入门使用》

localhost:9093/data

《react下express+mongodb入门使用》

!!!如果修改代码,页面会出现 Cannot GET /data,重新执行命令 /> node server.js,MMP好麻烦,往下看:

我们可以使用 nodemon 来实现自动自动重启express,安装:npm install -g nodemon
执行nodemon server.js ,妥了
安装完毕,以后再也不需要再手动操作了~

express详细使用:戳我跳转

Mongodb+mongoose:

>>>mongodb下载<<<

使用nodejs的 mongoose 模块链接和操作mongodb,安装 /> npm install mongoose --save
>>>mongoose详细教程<<<

mongoose 连接数据库


    //目录:  server/server.js
   
    const express = require('express');
  + const mongoose = require('mongoose');
  + const BD_URL = 'mongodb://localhost:27017'
  + // 链接数据库
  + mongoose.connect(DB_URL)
  + mongoose.connection.on('connected', function(){console.log('mongo 链接成功')})

    // 新建app
    const app = express(); 
        
    app.get('/', (req, res)=>{
        res.send('<h1>Hello world!</h1>')
    }) 
    
    app.get('/data', (req, res)=>{
        res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})
    })
        
    app.listen(9093,function(req, res){
        console.log('Node app start at port 9093')
    })

执行nodemon server.js

《react下express+mongodb入门使用》

定义文档模型,Schema和modal新建模型


    //目录:  server/server.js
   
    const express = require('express');
    const mongoose = require('mongoose');
    const DB_URL = 'mongodb://localhost:27017'
    // 链接数据库
    mongoose.connect(DB_URL)
    mongoose.connection.on('connected', function(){console.log('mongo 链接成功')})
    
  + // 创建User模型
  + const User = mongoose.model('users', new mongoose.Schema({
  +     name:{type:String, require:true},
  +     age:{type:Number, require: true}
  + }))

  + // 新增数据
    // 方法一:
  + const userModel = new User({username, type, pwd:md5Pwd(pwd)});
  +   userModel.save(function(err,doc){
  +     console.log(doc)
  +     if(err){return res.json({code:1, msg:'服务器忙'})}
  +     const {username, type, _id} = doc;
  +     res.cookie('user_id', _id)
  +     return res.json({code:0, data:{username, type, _id} })
  +   })
    // 方法二
  +   User.create({username, type, pwd:md5Pwd(pwd)}, function(err, doc){
  +     console.log(doc)
  +     if(err){
  +       return res.json({code:1, msg:'后台出错了'})
  +     }
  +     return res.json({code:0})
  +   }) 


  + // 删除数据
  + // User.remove({age:18}, function(err, doc){
  + //     console.log(doc)
  + // })

  + // 更新数据
  + // User.update({'name':'Kenny'}, {'$set':{age:30}}, function(err, doc){
  + //     console.log(doc)
  + // })

    // 新建app
    const app = express(); 
        
    app.get('/', (req, res)=>{
        res.send('<h1>Hello world!</h1>')
    }) 
    
    app.get('/data', (req, res)=>{
  - //    res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})

  +     // 查找信息 find, findOne
  +     User.find({user:'Kenny'}, function(err, doc){
  +         res.json(doc)
  +     })
    })
        
    app.listen(9093,function(req, res){
        console.log('Node app start at port 9093')
    })
    原文作者:aaamrh
    原文地址: https://segmentfault.com/a/1190000016936607
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞