八步教你使用NodeJS和MongoDB开发后端接口

使用Node.js和MongoDB开发后端接口

开始准备

  1. 安装node.js。
  2. 安装Express。
  3. 安装MongoDB。
  4. 往自己的MongoDB数据库里面加点内容
    这些是前置条件,准备好以后就可以往下看了

先来看结果:
这是后端返回的数据,(直接访问数据接口获得的数据)
在这里插入图片描述

一、创建服务器(就是创建Express项目)

cmd进入到我们的项目,创建一个express项目

我们的项目>express server

express后面跟的是项目名字。
创建好的项目如下:
在这里插入图片描述在这里插入图片描述

二、安装依赖

npm install

在这里插入图片描述
不安装的话就会报找不到模块的错误
安装好以后我们会看到项目中多了一个文件夹
在这里插入图片描述

三、cmd运行express项目

cd server          //进入到express项目
node ./bin/www     //启动express项目

运行完后如果什么提示也没有,这就代表成功了,
然后打开localhost:3000端口,看到以下界面说明运行成功。
在这里插入图片描述
在www文件中可以更改端口号
在这里插入图片描述

四、更改我们的视图引擎

express中默认的视图引擎是.jade
我们将其改成.html

  1. 安装ejs(当前目录:你的项目/server/)npm install ejs
  2. 删除views文件夹下面的所有.jade文件,创建一个.html文件,自己写点内容
  3. 在app.js文件中作以下修改
    var ejs=require('ejs'); //引入ejs模块
    app.set('views', path.join(__dirname, 'views'));
    app.engine('.html',ejs.__express);
    app.set('view engine', 'html');
  4. 在routes文件夹中,修改路由
    router.get('/', function(req, res, next) {
    res.render('index')//当访问这个路由的时候渲染views文件夹下面的index.html
    //为什么?这是因为在上面的app.js中定义的
    });

这样就更改完毕了,我们再次启动node服务器(当前目录:你的项目/server)
node ./bin/www
可以看到你们自己的页面显示成功。
在这里插入图片描述

五、安装mongoose

mongoose是对MongoDB的封装,就像Mybatis、Hibernate对JDBC的封装

npm i mongoose 

六、创建model

在server文件夹下创建一个models文件夹,用来存放model。
新建一个model,叫goods.js(自己起名字)
代码如下:

var mongoose=require('mongoose');
var Schema=mongoose.Schema;
var goodsSchema=new Schema({
	//这里根据你的数据库的内容来更改
	"goodId" : Number, 
    "goodName" : Number, 
    "goodPrice":Number,
    "goodImage" : String, 
    "createTime" : String,
});
module.exports=mongoose.model('good',goodsSchema,'good');
//第一个参数对应数据库的集合名,
但是默认会寻找数据库中该集合的复数形式进行映射(比如说这里是good,会对应到数据库中的goods集合),
所以如果数据库的集合名字不是复数形式的话,就要加上第三个参数,
第三个参数就是指定映射的数据库的名字。

七、创建路由(Router)

在routes文件夹中创建一个名为goods.js的文件
内容如下:

var express=require('express');
var router=express.Router();
var mongoose=require('mongoose');
var goodsModel=require('../models/goods');

//如果数据库有账号和密码就写在这。
mongoose.connect('mongodb://127.0.0.1:27017/design');//design是数据库名

//用来监听数据库是否连接成功(还有其他的监听方法,比如disconnected,error)
mongoose.connection.on('connected',function(){
	console.log('connected');
});

//定义路由,当访问该路由的时候,去数据库查找信息并返回
router.get('/',function(req,res,next){
	//{}里面代表的是查询的参数,docs表示查询出来的文档
	goodsModel.find({},function(err,docs){
		if(err){
			res.json({
				success:'fail',
				data:null
			})
		}else{
			res.json({
				success:'true',
				data:docs
			})
		}
	})
})
module.exports=router; 

在app.js文件中
引入该路由并使用

var goodsRouter=require('./routes/goods');
app.use('/goods',goodsRouter);

八、启动项目

启动node服务器(当前目录:你的项目/server) node ./bin/www

访问localhost:3001/goods(端口号默认3000,我的改成了3001)

这是我的数据库里面的内容
在这里插入图片描述
可以看到数据获取到了
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值