使用mongodb搭建你自己的api测试网站
为什么使用它?
在开发过程中,我们经常会遇到后端接口无法及时提供,虽然可以使用mock.js和apifox等工具进行临时模拟,但是我们在一些个人业务上无法找到安全,可靠的服务平台来存放api数据,这里我推荐了mongodb。
mongodb非常大方,提供512M免费的MongoDB存储额度,作为个人网站使用足够了,当然还有其他的免费数据库,如db4free.net、mlab.com。
如何使用?
- 首先我们打开https://cloud.mongodb.com并注册登录。
- 新建一个工程项目
- build一个数据库
- 服务配置按我图中选择操作就可以
- 设定访问的服务器账号和密码
- 选择云端环境(图中所示)
最后点确认并关闭,就完成了。
- 至此我们已经有了一个属于我们自己的数据库。
- 创建连接
- 选择compass
- 点击I have MongDB Compass,可以看到一串连接字符串,如下图黄线框起来带箭头的地方
使用数据库管理工具连接
数据库管理工具有非常多,这里使用Navicat,操作相对简单,按照Navicat连接配置信息,密码处填写创建数据库时设置的密码连接配置信息,密码处填写创建数据库时设置的密码
- 选择MongoDB Cloud Services的MongoDB Atlas...
- 按配置信息填入MongDB Compass获取到的主机地址和账号密码,按图中步骤顺序操作。
- 连接成功即配置完成
挂载到项目代码代管平台
代码项目代管服务平台有很多,如Netlify、Vercel、GitHub Page、码云的gitee page、腾讯云的webify,这里使用vercel的代管服务。
- 第一次使用首先需要安装vercel,在VScode的编辑终端里面输入
npm i vercel@latest -g
- 使用npm init给当前目录添加一个package.json文件,配置信息一路回车即可
- 登录vercel,在终端输入以下命令
vercel login
回车之后会让你选择登录方式,建议选择GitHub,再次回车以后会跳转到浏览器登录。
- 浏览器登录完成以后VScdoe终端提示已经Success,通过github验证完成,后面是账号信息。提示我们可以run `vercel`来进行目录初始化。
- 我们按照提示输入以下命令,将当前目录初始化为vercel项目目录。回车之后,vercel会询问你一些信息,还是一路回车就好。
vercel
- 提示我们已经成功架设到https://api-test-zeta-six.vercel.app/
打开浏览器登录网址发现已经可以访问但是显示404
- 接下来我们给vercel配置路由信息测试访问,在根目录新建配置文件vercel.json,并填入下面的配置,设置当访问的路径返回状态是404时,重定向到Hello.html页面
{
"routes": [
{
"handle": "filesystem"
},
{
"src": "/(.*)",
"status": 404,
"dest": "/Hello.html"
}
]
}
- 我们在根目录新建Hello.html,并填入下面的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello!</title>
</head>
<body>
<h1>欢迎访问!</h1>
</body>
</html>
- 现在,让我们启动我们建立好的vercel项目,在控制台输入下面的命令,按CTRL键单击控制台输出的Preview链接,就可以成功访问我们的项目
vercel
如下图已经成功访问
连接主机和数据库
我们还需要再使用npm安装以下三个包
npm i mongodb
npm i @vercel/node
npm i mongoose
下面开始连接数据库
在根目录下新建一个api文件夹,并创建testdb.js和tip.js文件来存放数据
testdb.js:
//mongodb模块账号密码
const mongoose = require('mongoose');
module.exports = (req, res) => {
mongoose.connect('mongodb+srv://account:password@cluster0.l7ntgqp.mongodb.net/test');
//mongoose.connect('mongodb+srv://你的用户名:你的密码@mongodb提供的content地址');
//简单接口的信息,以name为例
const test_1 = mongoose.model('test_1', { name: String });
const test_2 = new test_1({ name: 'jenkin' });
test_2.save().then(() => console.log('meow'));
res.status(200).json(test_2);
}
tip.js:
const mongoose = require("mongoose")
// 消除严格模式
mongoose.set("strictQuery", true)
// connect里填写我们在mongodb的content的配置信息
mongoose.connect("mongodb+srv://account:password@cluster0.l7ntgqp.mongodb.net/test")
const conn = mongoose.connection
conn.on("open", () => {
console.log("ok,数据库连接成功");
})
conn.on("error", (err) => {
console.log(err);
})
// 抛出
module.exports = mongoose
接着在终端执行node tip.js
,看到 "ok,数据库连接成功" 即代表接口创建成功了

现在打开网址的访问api下testdb.js看到以下内容,接口就已经创建成功了

版权声明:
作者:jenkin
链接:https://blog.ijenkin.top/index.php/2022/04/25/usingmongodb/
来源:Jenkin
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论