摘要:

  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. iOS------教你如何APP怎么加急审核

    苹果的加急审核如何使用呢? 在iTunesconnect页面,点击右上角的“?”图标,在弹出菜单中选择“联系我们”, 联系我们 然后在Contact Us页面,选择“App Review” —> ...

  2. Python异常处理机制、调试、测试

    类似于Java的try..catch..finally Java的为try_except_finally try: print('try...') r = / print('result:', r) ...

  3. 【linux】Can't connect to local MySQL server through socket和Plugin 'auth_socket' is not loaded报错

    真的是一次吐血的经历,弄了两个多小时才弄好. 问题1:直接登陆root用户报错 ERROR 2002 (HY000): Can't connect to local MySQL server thro ...

  4. Appium+java 获取元素状态

    元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的text值.className.resource-id.checked等.  一般标准的属性我们都可以通过get_attribut ...

  5. SparkSQL【1.x版本】字段敏感不敏感问题

    一.特征 1.SqlContext默认大小写不敏感,如果DataFrame中有字段相同,大小写不同,在使用字段的时候不会引起歧义. 2.HiveContext提供更多的Hive预置函数,可以更高效的进 ...

  6. Microsoft SQL Server 17导出xlsx文件时报错:The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

    导出数据时报错: 如果你是导出office 2007格式 TITLE: SQL Server Import and Export Wizard ---------------------------- ...

  7. VS错误:#error 指令: Please use the /MD switch for _AFXDLL builds

    我在做MFC时遇到过这个问题,解决方法如下: 修改设置:工程(Project)-> 属性(Properties)-> 配置属性(Configuration Properties)-> ...

  8. AngularJS学习之旅—AngularJS 指令(三)

    1.AngularJS 指令 AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 通过内置的指令来为应用添加功能. AngularJS 允许你自定义指令.2.Angu ...

  9. innerHTML的使用

        inerHTML是html标签的属性,成对出现的标签大多数都有这个属性,用来设置或获取位于对象起始和结束标签 内的HTML.(获取HTML当前标签的起始和结束里面的内容)不包括标签本身.   ...

  10. Linux 小知识翻译 - 「SCP和SFTP」

    这次想说说「SCP和SFTP」. 不管SCP还是SFTP,都是SSH的功能之一.都是使用SSH协议来传输文件的. 不用说文件内容,就是登录时的用户信息都是经过SSH加密后才传输的,所以说SCP和SFT ...