还是和之前一样文章的模型文件models/post.js
中添加一个模型方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| const postCollection = require("../config/mongoDbConnection").getCollection("postCollection");
exports.save = async(post) => { try { const col = await postCollection(); const result = await col.insertOne(post) return result.ops && result.ops[0]; } catch (err) { throw "添加到文章出错" } }
exports.findAll = async() => { try { const col = await postCollection(); return col.find({}).toArray(); } catch(err) { throw "查询文章出错" } }
|
在文章的路由文件中添加一个新的路由:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| const postModel = require('../models/post') const router = require('express').Router();
router.post('/add', async (req, res) => { try { const newPost = await postModel.save(req.body); res.send(newPost) } catch (err) { console.error(err); res.status(500).send(); } })
router.get('/', async (req, res) => { try { const posts = await postModel.findAll(); console.log(posts);
res.json(posts); } catch(err) { console.error(error); res.status(404).send(err) } })
module.exports = router;
|
这样我们就添加了文章的查询逻辑,访问GET:http://localhost:3000/api/post/
即可查询所有文章的记录。
当然,这里的代码都已经是5
年前的了,很多方法其实已经迭代,比如模型的设计在最新的MongoDB
中可以使用Model
来替代,主要是学习一下这里的设计思想最为重要。