查询所有文章

Sy_ Lv6

还是和之前一样文章的模型文件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来替代,主要是学习一下这里的设计思想最为重要。

  • 标题: 查询所有文章
  • 作者: Sy_
  • 创建于 : 2025-03-31 02:36:00
  • 更新于 : 2025-06-15 00:51:35
  • 链接: https://shenying.online//demo/bczxta4p/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
查询所有文章