通过Express和MongoDb实现RestfulAPI应用

一、介绍
在上一篇笔记中简单介绍了MongoDb
的使用方法,想必任何一个第一次学这个数据库的前端开发者早已无比火热了,现在让我们来直接开🦌一个 Restful API
规范的应用吧。
二、安装驱动
这里说的所谓的安装驱动,就是在node.js
中安装这个模块,这里假设你还没有安装express
模块。
打开一个文件夹,
1 | npm init |
三、配置连接
在根目录新建一个配置信息的文件夹:config
,并创建文件config/mongoDbConnection.js
:
1 | const { |
这里说一个我在官方文档看到的小技巧,url
可以在Mongo Compass
中通过粘贴获得:
这段代码很长,看起来非常劝退,但是稍微扒一下就能发现一点儿也不难。
因为其中用到了很多防御性编程,所以看起来较为臃肿,我来理一理核心逻辑:
- 通过解构赋值导入
mongodb
模块下的MongoClient
类后面用于创建服务链接。 url
存放数据库的地址。- 定义了一个
connectDb()
方法链接数据库返回并存到_db
中以便复用。连接失败报错(防御性编程)。 _db
用于存放连接到的数据库,便于全局多次复用。
3.1 connectDb() 方法
这里用到了几个我比较陌生的API,也来扒一下:
1 | const client = new MongoClient(url, { |
差点就去查资料了,还好我突然理解了~
对照这我们的MongoDB Compass
其实就很好理解了:
- 我们用导入的类
MongoClient
创建了一个客户端的对象,并传入客户端的url
参数作为客户端寻址。 - 创建完
client
后并不会直接连接客户端,需要异步地调用client.connect()
方法来连接。 - 连接后我们需要选择一个数据库进行操作,所以异步地调用了
client.db(dbName)
并传入我们需要访问的数据库名。
完成后,我们就可以像之前那样,用db.xxx
来进行一系列集合与文档的操作了,语法甚至都完全一样。
3.2 getCollection() 方法
我们在这个文件中还创建了一个用于获取集合的方法,并将其导出为模块。
这个方法代码更加简单,通过getCollection
方法来得到了db
数据库,并获取collection
集合返回,将函数闭包并将获取的集合存入_col
。
- 标题: 通过Express和MongoDb实现RestfulAPI应用
- 作者: Sy_
- 创建于 : 2025-06-15 00:51:35
- 更新于 : 2025-06-15 00:51:35
- 链接: https://shenying.online//demo/blc8jgxs/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论