Senario penggunaan adalah seperti berikut:
Apabila menerbitkan artikel, tambah tag Terdapat banyak tag dalam artikel,
Kemudian apabila mencari tag, bagaimana untuk menanyakan semua artikel tag ini? ?
Kemudian apakah idea reka bentuk data keseluruhan mongoodb? Tolong beri saya jawapan, thx
Artikel mengandungi _id, tajuk, tag, kandungan
Kemudian, tag mengandungi banyak tag
_id
tajuk
tag
tag1
tag2
tag3
kandungan
Anda boleh mereka bentuknya seperti ini
Anda boleh menulis kaedah untuk mengembalikan semua artikel di bawah tag tertentu
Kemudian panggilnya di laluan yang sepadan
Apabila menyimpan artikel, tambahkan id teg yang sepadan pada tatasusunan tag (kunci asing), dan pada masa yang sama tambahkan id artikel (kunci asing) pada semua teg yang sepadan
Ini adalah model tipikal banyak-ke-banyak, reka bentuk meja adalah seperti berikut
Artikel jadual artikel
tag tablettag
Jadual persatuan artikel dan tag article_tag
Idea khusus
Kaitkan jadual artikel dan jadual tag melalui kekangan kunci asing bagi article_tag
Untuk operasi tag artikel, jika tag sudah wujud, anda hanya perlu menambah atau memadam data jadual tag_artikel
Jika teg tidak wujud, tambahkan teg dan artikel dahulu, kemudian tambahkan
文章ID<->标签ID
data ke article_tagJika anda ingin menanyakan semua artikel dalam teg, gunakan jadual article_tag untuk meninggalkan (atau sebaris) jadual artikel
Jika anda ingin menanyakan semua teg artikel, gunakan jadual teg_artikel untuk meninggalkan (atau sebaris) jadual teg
Dalam dua kes di atas, jika anda masih memerlukan data tag atau artikel, teruskan sahaja ke kiri-menyertai jadual tag atau jadual artikel.
Saya bersetuju dengan penyelesaian di atas Satu jadual untuk artikel, satu jadual untuk tag, dan kemudian buat jadual tag artikel yang sepadan