开启你的编程学习之旅

云课堂提供高质量的编程课程,从入门到精通,助你成为技术大牛

立即开始学习

Node.js 后端开发

作者: 吴老师 更新: 2024-03-26 阅读: 31289 难度: 中级
学习工具

3. 数据库操作与RESTful API

Node.js可以连接各种数据库,构建完整的RESTful API。

MongoDB数据库操作
const mongoose = require('mongoose'); // 连接MongoDB mongoose.connect('mongodb://localhost:27017/myapp', { useNewUrlParser: true, useUnifiedTopology: true }); // 定义数据模型 const userSchema = new mongoose.Schema({ name: { type: String, required: true, trim: true }, email: { type: String, required: true, unique: true, lowercase: true }, age: { type: Number, min: 0, max: 120 }, createdAt: { type: Date, default: Date.now } }); const User = mongoose.model('User', userSchema); // RESTful API app.get('/api/users', async (req, res) => { try { const users = await User.find(); res.json(users); } catch (error) { res.status(500).json({ error: error.message }); } }); app.post('/api/users', async (req, res) => { try { const user = new User(req.body); await user.save(); res.status(201).json(user); } catch (error) { res.status(400).json({ error: error.message }); } }); app.put('/api/users/:id', async (req, res) => { try { const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true, runValidators: true }); if (!user) { return res.status(404).json({ error: '用户未找到' }); } res.json(user); } catch (error) { res.status(400).json({ error: error.message }); } }); app.delete('/api/users/:id', async (req, res) => { try { const user = await User.findByIdAndDelete(req.params.id); if (!user) { return res.status(404).json({ error: '用户未找到' }); } res.json({ message: '用户删除成功' }); } catch (error) { res.status(500).json({ error: error.message }); } });
提示: 这是一个重要的概念,需要特别注意理解和掌握。
注意: 这是一个常见的错误点,请避免犯同样的错误。