为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蝴蝶刀刀 2018-11-20 17:15:12
使用场景是这样子的:发表文章时候,带有标签,一遍文章有很多个标签,然后用查询一个标签时候,怎么查询到这个标签所有的文章??然后整个 mongoodb 的数据设计的思路是怎么样子?求大神解答一下嘛,thx
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

文章包含_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);

            });

        })

    });

};

然后在对应的路由调用

查看完整回答
反对 回复 2018-12-28
  • 1 回答
  • 0 关注
  • 498 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信