【发布时间】:2020-07-25 06:57:33
【问题描述】:
我正在使用 Express、MongoDB 和 React 开发一个博客应用程序。我肯定更喜欢使用关系数据库,但我想更喜欢基于文档的数据库,所以我在这里。
我有一个帖子集合,其当前状态如下所示:
[
{
"id": "001",
"category": "fishing",
"title": "jigs",
"body": "Lorem ipsum dolor sit amet, consectetu"
},
{
"id": "002",
"category": "cooking",
"title": "tuna casserole",
"body": "Lorem ipsum dolor sit amet, consectetur"
},
...]
当你转到 url/posts 时,你会得到所有的帖子。当你转到 url/posts/cooking 时,你当然会做饭。
当我在前端处理存根数据时,我正在从一个 json 文件中创建一个类别列表,如下所示:
const uniqueCategories = [
...new Set(props.posts.map((post) => post.category)),
];
但是,我是这样按类别获取我的帖子的:
useEffect(() => {
async function fetchPosts() {
fetch(`api/posts/${category}`)
.then((res) => res.json())
.then(
(result) => {
setPosts(result);
console.log('result', result);
}
);
}
fetchPosts();
}, [category]);
我还没有实现所有类别,但这没关系。现在,如果我得到烹饪类别,我上面的 uniqueCategories 函数将只会映射 cooking
所以问题是。构建这个的最佳方法是什么?
我应该有一个类别集合吗?在帖子集合中,我应该引用类别集合的 id 吗?
或者有没有更好的方法?
【问题讨论】: