zoukankan      html  css  js  c++  java
  • Express+MongoDB开发web后台接口MongoDB

    摘要:

      Express开发web接口;

      安装MongoDB,启动、连接MongoDB服务台;

      使用nodejs和mongoose模块链接和操作MongoDB;

    一、Express开发web接口

      express是基于nodejs,快速、开发、极简的web开发框架。

    1.安装express

    npm install express --save

    2.编写server.js文件

    const express=require('express');
    //新建app
    const app=express();
    //客户端访问/时返回一段文本
    app.get('/',function(req,res){
      res.send('<p>hello world</p>')
    })
    //客户端访问/data时返回json数据
    app.get('/data',function(req,res){
      res.json({"name":"lizhao","age":"2"})
    })
    //监听9093
    app.listen(9093,function(){
      console.log('node app start 9093')
    })

      这样就可以在http://localhost:9093 下看到“hello world”了,意味着服务启动了。

    express的基础使用:

      app.get 、app.post分别开发get,post接口;app.use使用模块 ;res.send 、res.json 、res.sendfile响应不同的内容。

    3.安装nodemon:

      每次修改server.js后,需要在命令行手动重启服务才可以,不太方便。所以,我们可以安装nodemon来监听路由和响应内容,使得使得每次修改后服务自动启动。

    npm install nodemon -g

      安装完nodemon之后,以后启动服务就可以用nodemon命令了。

    nodemon server.js

    二、安装MongoDB,启动、连接MongoDB服务台

      MongoDB的安装;启动、连接MongoDB服务台的方法详见:https://www.cnblogs.com/superlizhao/p/9542476.html

    三、使用nodejs和mongoose模块连接和操作MongoDB

    安装mongoose

      通过mongoose操作MongoDB。

    npm install mongoose --save

    修改server.js,使的能增删改查MongoDB的收据

    const express=require('express');
    const mongoose=require('mongoose');
    //连接mongo,并且使用imooc这个集合
    const DB_URL='mongodb://127.0.0.1:27017/imooc';
    mongoose.connect(DB_URL);
    mongoose.connection.on('connected',function(){
      console.log('connect')
    })
    //类似与mysql的表,mongo里有文档、字段的概念, 新建一个文档模型
    const User=mongoose.model('user',new mongoose.Schema({
      user:{type:String,require:true},
      age:{type:Number,require:true}
    }))
    //
     User.create({
       user:'lizhao',
       age:19
     },function(err,doc){
       if(!err){
         console.log(doc)
       }else{
        console.log(err)
      }
    })
    //新建app
    const app=express();
    //客户端访问/时返回一段文本
    app.get('/',function(req,res){
      res.send('<p>hello world</p>')
    })
    //客户端访问/data时返回查询User后得到的json数据
    app.get('/data',function(req,res){
      //
      User.find({},function(err,doc){
        if(!err){
          return res.json(doc)
        }
      });
    })
    //
    User.remove({age:18},function(err,doc){
      console.log(doc)
    })
    //
    User.update({age:19},{'$set':{age:20}},function(err,doc){
      console.log(doc)
    })
    //监听9093
    app.listen(9093,function(){
      console.log('node app start 9093')
    })

     mongoose的基础使用

      connect连接数据库;model新建模型;Schema定义文档模型;create,remove,update来增删改;find和findOne来查询数据。

      这样在http://localhost:9093/data 下就可以看到数据库里的数据了

  • 相关阅读:
    mysql max_allowed_packet设置及问题
    mybatis之foreach用法
    uniapp编译小程序分包配置
    鼠标点击页面显示文字
    element ui el-date-picker 判断所选时间是否交叉
    前端处理跨域的几种方式
    uniapp的ajax封装请求
    js获取两个时间差
    vue文件下载功能
    nextTick使用
  • 原文地址:https://www.cnblogs.com/superlizhao/p/9541820.html
Copyright © 2011-2022 走看看