Le scénario d'utilisation est le suivant :
Lors de la publication d'un article, ajoutez des balises. Il y a de nombreuses balises dans un article,
Alors lors de la recherche d'un tag, comment interroger tous les articles de ce tag ? ?
Alors, quelle est l'idée globale de conception de données de mongoodb ? S'il vous plaît, donnez-moi quelques réponses, merci
L'article contient _id, title, tags, content
Ensuite, les tags contiennent de nombreuses balises
_id
titre
étiquettes
tag1
tag2
tag3
contenu
Vous pouvez le concevoir comme ceci
Vous pouvez écrire une méthode pour renvoyer tous les articles sous une balise spécifique
Puis appelez-le dans l'itinéraire correspondant
Lors de l'enregistrement de l'article, ajoutez l'identifiant de balise correspondant au tableau de balises (clé étrangère), et en même temps ajoutez l'identifiant de l'article (clé étrangère) à toutes les balises correspondantes
Il s'agit d'un modèle plusieurs-à-plusieurs typique, la conception de la table est la suivante
Article du tableau des articles
étiquettes de tablette
Tableau d'association d'articles et de tags article_tag
Idées spécifiques
Associer la table article et la table tags via la contrainte de clé étrangère de article_tag
Pour les opérations de balise d'article, si la balise existe déjà, il vous suffit d'ajouter ou de supprimer les données de la table article_tag
Si la balise n'existe pas, ajoutez d'abord la balise et l'article, puis ajoutez
文章ID<->标签ID
data à article_tagSi vous souhaitez interroger tous les articles d'une balise, utilisez la table article_tag pour rejoindre à gauche (ou en ligne) la table d'articles
Si vous souhaitez interroger toutes les balises d'un article, utilisez la table article_tag pour rejoindre à gauche (ou en ligne) la table des balises
Dans les deux cas ci-dessus, si vous avez encore besoin de données de balise ou d'article, continuez simplement à créer un lien gauche vers la table de balises ou la table d'articles.
Je suis d'accord avec la solution ci-dessus. Un tableau pour les articles, un tableau pour les balises, puis créez un tableau correspondant de balises d'articles