📅  最后修改于: 2023-12-03 14:49:39.142000             🧑  作者: Mango
Express.js 是一个流行的 Node.js 开源框架,用于 Web 应用程序的开发,是使用 Node.js 进行 Web 开发的首选框架之一。本文将介绍如何使用 Express.js 连接 MongoDB 数据库猫鼬。
在开始之前,确保在本地安装了 Node.js 和 MongoDB 数据库。然后,使用 npm 为项目安装 Express.js 和 MongoDB 驱动。
# 安装 Express.js
npm install express --save
# 安装 MongoDB 驱动
npm install mongodb --save
在 app.js 文件中,可以设置用于连接数据库的 URL 和其他配置。在这个示例中,我们将使用一个本地 MongoDB 实例,URL 是 mongodb://localhost:27017/mongoose
。mongoose
是我们创建的数据库名称。
const express = require('express');
const mongoose = require('mongoose');
const app = express();
// 连接 MongoDB
mongoose.connect('mongodb://localhost:27017/mongoose', {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true
})
.then(() => console.log('MongoDB Connected'))
.catch(err => console.log(err));
// 其他配置
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// 设置路由
app.use('/', require('./routes/index'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, console.log(`Server running on ${PORT}`));
我们需要创建一些路由来处理对数据库的请求。在本示例中,我们将创建和读取猫鼬。
文件 cat.js
包含有关猫鼬模式的所有信息。
const mongoose = require('mongoose');
const catSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
age: {
type: Number,
required: true
},
breed: {
type: String,
required: true
},
color: String
});
module.exports = mongoose.model('Cat', catSchema);
在 index.js
文件中,我们将定义一些路由,以便从数据库中创建、读取和更新猫鼬。
const express = require('express');
const router = express.Router();
const Cat = require('../models/cat');
// 创建猫鼬
router.post('/', async (req, res) => {
const { name, age, breed, color } = req.body;
const cat = new Cat({
name,
age,
breed,
color
});
await cat.save();
res.json(cat);
});
// 读取所有猫鼬
router.get('/', async (req, res) => {
const cats = await Cat.find();
res.json(cats);
});
// 更新猫鼬
router.put('/:id', async (req, res) => {
const cat = await Cat.findById(req.params.id);
const { name, age, breed, color } = req.body;
if (name) cat.name = name;
if (age) cat.age = age;
if (breed) cat.breed = breed;
if (color) cat.color = color;
await cat.save();
res.json(cat);
});
module.exports = router;
现在猫鼬接口已准备好,我们可以使用 Postman 工具或浏览器访问 localhost:5000/cats 来测试。
使用 POST 请求来向数据库中创建一只名为 Frost、年龄为 4、品种为橘猫、毛色为橘色的猫鼬。
POST localhost:5000/cats
Content-Type: application/json
{
"name": "Frost",
"age": 4,
"breed": "橘猫",
"color": "橘色"
}
使用 GET 请求来读取所有猫鼬。
GET localhost:5000/cats
使用 PUT 请求来更新 Frost 的年龄为 5。
PUT localhost:5000/cats/<Frost 的 ID>
Content-Type: application/json
{
"age": 5
}
Express.js 是一个灵活且易于使用的框架,使用其连接 MongoDB 数据库很容易。开发人员可以使用基本的 RESTful API 方法来处理数据库,从而更方便地开发 Web 应用程序。