Das Nutzungsszenario ist wie folgt:
Fügen Sie beim Veröffentlichen eines Artikels Tags hinzu. Es gibt viele Tags in einem Artikel,
Wie kann man dann bei der Suche nach einem Tag alle Artikel dieses Tags abfragen? ?
Was ist dann die allgemeine Datendesignidee von Mongoodb? Bitte gebt mir ein paar Antworten, danke
文章包含_id,title,tags,content
然后,tags又含有很多的tag
_id
title
tags
tag1
tag2
tag3
content
可以这样去设计
可以写一个返回特定标签下的所有文章的方法
然后在对应的路由调用
文章保存的时候向标签tags数组(外键)中添加对应标签id,同时在对应的所有标签中增加文章id(外键)
这是典型多对多模型,表设计如下
文章表article
标签表tags
文章和标签关联表article_tag
具体思路
通过article_tag的外键约束,将article表和tags表关联起来
对于文章标签的操作,如果标签已经存在,只需要对article_tag表数据进行添加或者删除
如果标签不存在,先添加标签和文章,再给article_tag中加入
文章ID<->标签ID
数据即可如果要查询一个标签中的所有文章,用article_tag表左联(或者内联)article表即可
如果要查询一个文章的所有标签,用article_tag表左联(或者内联)tags表即可
上述两种情况下,如果还需要标签或文章的数据,就继续左联标签表或者文章表即可。
同意楼上的解决办法,文章一个表,标签一个表,然后再建一个文章标签的对应关系表