V předchozím článku jsme zmínili praktické použití MongoDB databáze jako dokumentově orientovaného úložiště podobného databázi Lotus Notes. Lotus Notes databáze se podobně jako MongoDB řadí v dnešní terminologii do oblasti tzv. NoSQL databází, Kromě mnoha jiných věcí umožňuje data ukládat bez pevného schématu což poskytuje velmi pružný vývoj a kooperaci s daty z jiných systémů. Záznamy v MongoDB databázi mohou obsahovat pole různého typu dle potřeby použití, podívejme se na některá z nich.
Na obrázku níže je uvedena struktura záznamu / dokumentu z databáze MongoDB. Data jsou uložena v JSON formátu, což zajišťuje dobrou prohlížítelnost. Jako příklad jsme vytvořili záznam, který obsahuje různé varianty polí. Podívejme se na jednolitvé možnosti:
a) _id – unikátní identifikátor (může být automaticky generován nebo převzat např. jako ID z Lotus Notes databáze)
b) last_modified – datumová položka
c) status – prostý text
d) total – číselná položka
e) categories – vícehodnotové pole. Hodnotami mohou být texty, čísla, datumy nebo jejich kombinace. Na jednotlivé položky pole lze samostatně přistupovat nebo v nich prohledávat
f) items – vícehodnotové pole, kde jsou jednotlivé položky tvořeny řádky s vícero poli. Tímto způsobem je možno do jednoho dokumentu vložit jak hlavní tak i související informace. Dle praktického použití je tak možno mít např. dokument objednávky, na kterém jsou uvedeny i její jednotlivé položky, nebo záznam o produktu i se seznamem hodnocení od uživatelů. S jednotlivými řádky pole je opět možno samostatně pracovat (měnit, přidávat, odebírat) a prohledávat v nich.
g) delivery_location – číselné údaje označující GPS souřadnice nějaké lokality. MongoDB obsahuje možnost vytvoření indexu pro GEO location vyhledávání. Máme-li na záznamu takovéto údaje, pak po vytvoření GEO indexu se můžeme dotazovat způsobem např. „hledám záznamy 50km od dané lokace“
Obecná výhoda použití JSON formátu se pak projevuje i v možnosti ‚jednoduchého‘ importu existujících dat nebo jejich exportu z MongoDB. JSON formát je textový a prohližitelný v běžných textových editorech.