请问,一个文章有多个标签,一个标签下面有多篇文章,用 mogoose 怎么设计表?

发布于 2022-09-05 03:18:41 字数 134 浏览 26 评论 0

使用场景是这样子的:

发表文章时候,带有标签,一遍文章有很多个标签,

然后用查询一个标签时候,怎么查询到这个标签所有的文章??

然后整个 mongoodb 的数据设计的思路是怎么样子?求大神解答一下嘛,thx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

只是一片海 2022-09-12 03:18:41

文章包含_id,title,tags,content
然后,tags又含有很多的tag

  • _id

  • title

  • tags

    • tag1

    • tag2

    • tag3

  • content

可以这样去设计
可以写一个返回特定标签下的所有文章的方法

Post.getTag=function(tag,callback){
    mongodb.open(function(err,db){
        if(err){
            return callback(err);
        }
        db.collection('posts',function(err,collection){
            if(err){
                mongodb.close();
                return callback(err);
            }
            collection.find({
                "tags":tag
            },{
                "name":1,
                "time":1,
                "title":1
            }).sort({
                time:-1
            }).toArray(function(err,docs){
                mongodb.close();
                if(err){
                    return callback(err);
                }
                callback(null,docs);
            });
        })
    });
};

然后在对应的路由调用

Spring初心 2022-09-12 03:18:41

文章保存的时候向标签tags数组(外键)中添加对应标签id,同时在对应的所有标签中增加文章id(外键)

黄昏下泛黄的笔记 2022-09-12 03:18:41

同意楼上的解决办法,文章一个表,标签一个表,然后再建一个文章标签的对应关系表

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文