2014-11-02 111 views
1

我正在實現動態表單。作爲用戶,我希望能夠動態地創建表單。給它一個名字,讓我們說'員工形式',並指定字段的形式,如'名稱:字符串',出生日期:日期'。NoSQL與SQL動態表單

後來我想能夠使用這些表單定義來存儲這些表單的值,並在多個地方使用它。

基本上我只是想能夠在數據庫中存儲我想要的任何配置對象,然後使用一些web服務來檢索它並將其顯示在網頁中。

我已經開始爲此設計MySQL數據庫,但我認爲使用NoSQL數據庫來完成此任務可能是更好的解決方案。你會建議使用NoSql(Mongo)進行這樣的任務而不是SQL嗎? ('Employee Form'),FormFieldsNames('Name','DateOfBirth'),FieldType('String','Date','Integer'),然後FormFieldValues('Name :John','DateOfBirth:1985/01/01')

我在服務器端使用asp.net。

回答

1

至於你所說的,我實際上認爲MongoDB是最簡單的解決方案,因爲它是無模式的,並且允許用一種方便的方式表示事物(在這種情況下是字段)的數組。在這種情況下,你需要一個形式集合,包含你的表格爲每個表單的說明(如

{ 
    "name":"Employee form", 
    "associatedCollection":"somethingUniqueAndMaybeRandom", 
    "fields": [ 
       { "Name":"String"}, 
       { "Date of birth":"Date"} 
      ] 
} 

),然後收集,包含實際數據。或類似的東西。

對於SQL數據庫而言,解決方案並不像您正在試驗的那樣簡單,但我認爲並不困難。所以你可以選擇IMO,我會選擇MongoDB,但和我沒有太大的區別。