/ / Jak powinienem przechowywać jedną do wielu kolekcji w mongodb - mongodb

Jak powinienem przechowywać jeden do wielu zbiorów w mongodb - mongodb

Nie jestem pewien, czy kolekcja jest właściwym słowem, ale próbuję powiedzieć cokolwiek, co będzie w MongoDB

Mam zamiar dokonać zmiany z MySQL na MongoDB i czytałem na ten temat, ale jedną rzeczą, której nie mogę znaleźć wiele, są kolekcje jeden-do-wielu lub wiele-do-wielu.

Więc powiedz, że mam forum collection, forum collection ma wiele posts, a także jest user kolekcja, która ma wiele posts (posty są dzielone między forum i użytkownika, dzięki czemu można zobaczyć profil użytkownika i zobaczyć jego posty, a także odwiedzić forum, które wypełni ostatnie posty)

Jak powinienem się kojarzyć?te, czy powinienem bezpośrednio wstawić post do kolekcji User i Forum w ten sposób, że mogę po prostu zapytać użytkownika i uzyskać jego posty, lub powinienem przechowywać posty na forach z userid a następnie zapytaj kolekcję forum o posty według pewnego userid

Przepraszam za słabe formatowanie, ponieważ korzystam z telefonu komórkowego. To nie jest specyficzne dla forum, to tylko przykład właściwego sposobu przechowywania kolekcji One-to-Many. Dzięki!

Odpowiedzi:

2 dla odpowiedzi № 1

Po pierwsze, zadaj sobie pytanie, dlaczego się przeprowadzaszMongoDB, MongoDB z definicji nie jest relacyjną bazą danych. Jeśli chcesz osiągnąć wydajność zapytań, odpowiedzią jest dwukrotne przechowywanie danych i utrzymywanie ich za pomocą kodu (gdy rzeczy są aktualizowane, aktualizuj dwa razy itd.).

Jeśli nie masz problemów z wydajnością, rozważ zachowanie Mysql, ponieważ trzymanie danych relacyjnych w MongoDB jest mniej zalecane, ponieważ nie masz transakcji.

Więc nie ma dobra ani zła, zależy to od problemu, który próbujesz rozwiązać.