Data i MongoDB har en fleksibel schema.documents i samme samling trenger ikke å ha samme sett av felt eller struktur, og felles felt i en samling dokumenter kan holde ulike typer data
.
Noen betraktninger mens utforme skjema i MongoDB
Design ditt skjema i henhold til brukerens behov.
Kombiner gjenstander til ett dokument om du vil bruke dem sammen . Ellers skille dem (men pass på at det ikke skal trenge joins).
Duplicate dataene (men begrenset) fordi diskplass er billig som i forhold til å beregne tid.
Har tiltrer samtidig skrive, ikke på lese.
Optimaliser skjema for de vanligste bruksmåter.
Gjør kompleks aggregering i skjemaet
Eksempel
Anta at en klient trenger en database design for bloggen sin nettside og se forskjellene mellom RDBMS og MongoDB skjema design. Nettstedet har følgende krav.
Hver post har den unike tittel, beskrivelse og url.
Hver post kan ha en eller flere koder. Anmeldelser
Hver post har navnet på sin forlegger og totalt antall liker.
Hver Post har kommentarer gitt av brukerne sammen med deres navn, melding, data -time og liker.
På hvert innlegg kan det være null eller flere kommentarer.
I RDBMS skjema design for ovennevnte krav vil ha minimum tre tabeller
Mens i MongoDB skjema design vil ha en samling innlegg og har følgende struktur:.
{_id: POST_ID tittel: TITLE_OF_POST, beskrivelse: POST_DESCRIPTION, av: POST_BY, url: URL_OF_POST, tags: [TAG1, Tag2, TAG3], liker: TOTAL_LIKES, kommenterer: [{user: 'COMMENT_BY', message: TEKST, dateCreated: DATE_TIME, som: Liker} {user: 'COMMENT_BY', message: TEKST, dateCreated: DATE_TIME, slik ut:. Liker}]}
Så mens viser dataene, i RDBMS du trenger for å bli med tre tabeller og i mongodb data vil bli vist fra en samling kun Anmeldelser