摘要:

  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 下就可以看到数据库里的数据了

Express+MongoDB开发web后台接口MongoDB的更多相关文章

  1. Spring Boot入门(四):开发Web Api接口常用注解总结

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...

  2. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  3. Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  4. Node.js开发Web后台服务(转载)

    原文:http://www.cnblogs.com/best/p/6204116.html 目录 一.简介 二.搭建Node.js开发环境 2.1.安装Node.js 2.2.安装IDE开发Node. ...

  5. django2_开发web系统接口

    1.单独创建.../sign/views_if.py文件,开发添加发布会接口 from django.http import JsonResponse from cmdb.models import ...

  6. vue-cli 前端开发,后台接口跨域代理调试问题

    使用 webpack的方式开发的时候,前台开发过程中需要调用很多后台的数据接口,但是通常前后台分离的开发方式,后台的接口数据很可能是不方便或者是不能在前端同学的电脑上运行的,也就出现了所谓的跨域问题. ...

  7. 微信小程序的Web API接口设计及常见接口实现

    微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们 ...

  8. express框架开发案例

    express是基于Node.js平台的web应用开发框架,用express框架开发web项目可以直接构建整个项目框架并且将前端页面跟后台贯穿起来,用起来还是灵活的:最近刚开始学习,写篇博客总结下,涉 ...

  9. 使用nodejs和express搭建http web服务

    目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 express ...

随机推荐

  1. Thrift的C++服务端(线程池和非阻塞)模式

    非阻塞模式 #include "RpcServiceHandler.h" #include <thrift/concurrency/ThreadManager.h> # ...

  2. (网页)websocket后台调用Service层

    百度论坛里面有很多好的方法,借鉴. 重点:因为项目是StringBoot所以我用的是下面的方法很好使: Service.... service = (Service....) ContextLoade ...

  3. Struts2之action 之 感叹号 ! 动态方法调用

    struts2的动态方法调用的方式: 1.第一种方式:设置method属性 在Action类中定义一个签名与execute方法相同.只是名字不同的方法,如定义为: public String logi ...

  4. Spring Data Redis 让 NoSQL 快如闪电(2)

    [编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...

  5. 商家服务无法上架提示没有授权信息解决FAQ

    1.地址授权:https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id=2018032002416255&redirect_uri= ...

  6. Eclipse引入spring约束详细教程

    1.打开eclipse的window-preferences,搜索catalog. 2.点击add,点击File System,弹出页面选择spring-beans-4.2.xsd. 3.key ty ...

  7. SQL Server -- 回忆笔记(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询

    SQL Server知识点回忆篇(二):增删改查,修改表结构,约束,关键字使用,函数,多表联合查询 1. insert 如果sql server设置的排序规则不是简体中文,必须在简体中文字符串前加N, ...

  8. xxx.jar或者xxx.war中没有主清单属性和spring-boot-maven-plugin的作用

    因为springboot本身集成了tomcat插件,所以我们可以直接使用mvn clean package命令打成jar包或者war包,然后使java -jar xxx.jar 或者 java -ja ...

  9. c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作

    c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作 关键概念:向容器添加元素时,添加的是元素的拷贝,而不是对象本身.随后对容器中元素的任何改变都 ...

  10. 在Unity中对Lua进行调试

    前言 接我之前的文章,讲到使用IntelliJ IDEA(做为Lua的编辑器)+EmmlyLua(插件),当然EmmlyLua也提供调试功能的. Lua代码提示和方法跳转 在Lua中提示UnityEn ...