時(shí)間:2024-03-08 08:50作者:下載吧人氣:20
MongoDB的特點(diǎn)
MongoDB是一個(gè)面向文檔存儲(chǔ)的數(shù)據(jù)庫(kù)。在MongoDB中,一條記錄叫做document(文檔),由類似于JSON結(jié)構(gòu)的鍵值對(duì)組成。
由于類似于MongoDB直接存儲(chǔ)JSON的特性,MongoDB天生適合作為存儲(chǔ)結(jié)構(gòu)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的介質(zhì)。類似于問(wèn)卷調(diào)查和考試這種需求,用mysql這種關(guān)系型數(shù)據(jù)庫(kù)實(shí)現(xiàn)起來(lái)太過(guò)復(fù)雜,效率低下;而如果使用MongoDB來(lái)實(shí)現(xiàn)的話,則會(huì)發(fā)現(xiàn)異常清晰簡(jiǎn)單。
需求分析
在一張?jiān)嚲碇校瑫?huì)有很多個(gè)問(wèn)題,問(wèn)題的類型大體上可以分為單選題、多選題、判斷題、簡(jiǎn)答題等。每一個(gè)問(wèn)題又會(huì)有很多個(gè)選項(xiàng),選項(xiàng)可以是文字描述也可以是圖片又或者圖文結(jié)合。
那么一張?jiān)嚲淼腏SON格式應(yīng)該大體上長(zhǎng)成這樣:
當(dāng)然這只是最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),要完成一張?jiān)嚲恚€需要加入更多的屬性。
結(jié)構(gòu)設(shè)計(jì)
我們采用自底向上的結(jié)構(gòu)設(shè)計(jì)方式,先對(duì)每個(gè)選項(xiàng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)。
選項(xiàng)設(shè)計(jì)
public class Option {
/**
* 選項(xiàng)類型
*/
private Integer oType = 1;
/**
* 選項(xiàng)內(nèi)容
*/
private String text;
/**
* 選項(xiàng)圖片
*/
private String img;
/**
* 是否正確答案
*/
private Boolean right;
/**
* 用戶是否選擇
*/
private Boolean selected;
…
網(wǎng)友評(píng)論