使用express+mongoose开发简单的blog

2018-08-14  本文已影响0人  索索是个索索

最近工作上需要使用Nodejs开发一些小的demo,有些数据使用数据库进行存储,就用了express+mongoose,这里使用博客这个小例子记录一下:

目录结构如下
目录结构

安装

开发前先安装mongodb数据库,然后新建一个目录,安装express+mongoose

npm install --save express mongoose

开发前先安装mongodb数据库,安装和启动百度就可以

mongoose 是使用nodejs对mongodb数据库的操作进行了抽象和封装,有以下几个概念:SchemaModelDocument
Schema: 模式, 类似于关系数据库中的表的概念
Model: 模型 负责和底层MongoDB数据库进行交互
Document文档 表示存储在MongoDB中的数据的一对一映射。每个文档都是其模型的一个实例

接下来先起一个node 服务:


API server.js

然后建立Schema和Model

blogModel.js
mongoose.model()第一个参数是类似关系数据库中的表名,在数据库中建立时默认会加s,即在数据库中呈现的是blogs 数据集合

然后写API的处理函数


blogControllers.js

当新增blog的时候可以看到先 new blog(),这个blog就是前面的
module.exports = mongoose.model('blog', blogSchema);

每条博客数据都是一个Document,都是blogModel的一个实例,但是注意在查询、删除、修改等操作的时候不需要再new一个Model实例,Model的原型上提供了好多方法可以使用,具体可以查看mongoose文档。

接下来就是将服务器和mongodb数据库连接到一起了

mongoose.connect("mongodb://localhost:27017/blogDB", { useNewUrlParser: true });

其中数据库端口默认是27017,可以自行更改

然后就可以启动node server,如果没有报错信息的话就可以测试接口是否正确了,这里使用postman进行接口测试

postman

可以看到新增一条数据后返回的就是新增的这条数据
在Robomongo(mongodb数据库可视化工具)中可以看到数据已经存储进去


Robomongo

到这里就算结束了,刚开始写文章所以可能表述和格式都比较乱,有问题可以在评论区交流
再推荐下postman这个工具,测试API非常好用,还可以mock数据,有chrome 插件和桌面应用,大家可以下载试试

参考
mongoose官方文档

上一篇下一篇

猜你喜欢

热点阅读