📜  使用 express js 连接猫鼬 - Javascript (1)

📅  最后修改于: 2023-12-03 14:49:39.142000             🧑  作者: Mango

使用 Express.js 连接猫鼬

简介

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
连接 MongoDB 数据库猫鼬
配置

在 app.js 文件中,可以设置用于连接数据库的 URL 和其他配置。在这个示例中,我们将使用一个本地 MongoDB 实例,URL 是 mongodb://localhost:27017/mongoosemongoose 是我们创建的数据库名称。

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

文件 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

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 应用程序。