用nodejs编写商品管理系统进行增删改查商品的信息
时间: 2024-05-13 22:17:02 浏览: 186
好的,下面是一个简单的商品管理系统的示例代码,使用 Node.js 和 MongoDB:
首先需要安装依赖:
```
npm install express mongodb body-parser
```
然后创建一个 `app.js` 文件,包含以下代码:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const { MongoClient, ObjectId } = require('mongodb');
const app = express();
app.use(bodyParser.json());
const url = 'mongodb://localhost:27017';
const dbName = 'shop';
MongoClient.connect(url, { useUnifiedTopology: true }, async (err, client) => {
if (err) {
console.error(err);
return;
}
const db = client.db(dbName);
// 获取所有商品
app.get('/products', async (req, res) => {
const products = await db.collection('products').find().toArray();
res.json(products);
});
// 获取单个商品
app.get('/products/:id', async (req, res) => {
const product = await db.collection('products').findOne({ _id: ObjectId(req.params.id) });
if (!product) {
res.status(404).end();
return;
}
res.json(product);
});
// 创建商品
app.post('/products', async (req, res) => {
const { name, price } = req.body;
const result = await db.collection('products').insertOne({ name, price });
res.json(result.ops[0]);
});
// 更新商品
app.put('/products/:id', async (req, res) => {
const { name, price } = req.body;
const result = await db.collection('products').updateOne({ _id: ObjectId(req.params.id) }, { $set: { name, price } });
if (result.modifiedCount === 0) {
res.status(404).end();
return;
}
res.json(result);
});
// 删除商品
app.delete('/products/:id', async (req, res) => {
const result = await db.collection('products').deleteOne({ _id: ObjectId(req.params.id) });
if (result.deletedCount === 0) {
res.status(404).end();
return;
}
res.json(result);
});
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
});
```
这个示例代码包含以下路由:
- `GET /products`:获取所有商品。
- `GET /products/:id`:获取单个商品。
- `POST /products`:创建商品。
- `PUT /products/:id`:更新商品。
- `DELETE /products/:id`:删除商品。
你可以通过 RESTful API 调用这些路由进行增删改查商品的信息。注意,这个示例代码没有进行任何的身份验证和授权,实际应用中需要添加相关的逻辑来保护数据安全。
阅读全文