[英]Dynamic html form generation in MEAN stack
我剛開始學習MEAN堆棧,需要動態生成動態表單。
要求是導入文檔(excel / csv / xml / xls等...)並使用它生成動態表單,以便用戶可以更新其數據並再次將其導出到相應的文件中。
因此,為了實現這一點,我將文檔轉換為JSON格式並將JSON數據存儲到MongoDB數據庫中。
例如:考慮這個xlsx
數據:
ID Name dob Gender
1 user1 7-Dec-87 m
2 user2 8-Dec-87 f
3 user3 9-Dec-87 f
3 user4 4-Dec-87 m
我正在使用xlsx-to-json
模塊將其轉換為JSON格式並將其存儲到Mongodb中。
app.post('/myapp', function (req, res) {
//console.log("===========" + req.file.path);
converter({
input: req.file.path,
output: "output.json"
}, function (err, result) {
if (err) {
console.error(err);
} else {
console.log(result);
db.collection('test').insert(result, function (err, doc) {
console.log(err);
res.json(doc);
});
}
});
});
在這里,我從Mongodb & express.js
獲取以上數據
app.get('/myapp', function (req, res) {
db.collection('test').find(function (err, docs) {
console.log(docs);
res.json(docs);
});
});
app.get('/birthdaylist/:id', function (req, res) {
var id = req.params.id;
console.log(id);
db.collection('test').findOne({_id: mongojs.ObjectId(id)}, function (err, doc) {
console.log(JSON.stringify(doc));
res.json(doc);
});
});
這是JSON
輸出:
[
{ dob: '7-Dec-87', ID: '1', Name: 'user1' },
{ dob: '8-Dec-87', ID: '2', Name: 'user2' },
{ dob: '9-Dec-87', ID: '3', Name: 'user3' },
{ dob: '4-Dec-87', ID: '4', Name: 'user4' }
]
所以,我幾乎沒有疑問:
這是我正在做的從xlsx / csv..etc生成動態表單的正確方法嗎? 如果是,那么我如何從JSON上面生成動態表單。
在google上進行探索時我發現mongodb會自動生成表單( https://github.com/GothAck/forms-mongoose )所以它會有所幫助,因為excel文件可能存在大量數據。
任何幫助將非常感激。
您是否真的需要分析任意電子表格並動態提取架構,或者您是否提前知道架構? 如果你知道模式,那么Mongoose表單生成示例很簡單。 但要確保這實際上是一項要求,因為它很難。
你永遠不會100%,因為電子表格是由用戶和用戶創建的奇怪的東西。 但是你可以做出大部分時間都有效的東西。
您需要一些接受JSON對象的東西並提取模式並將其置於Mongoose模式格式中。
所以你想為Mongoose模式添加一個有趣的模塊。 我搜索了node-modules.com
,結果出現了: https : //github.com/Nijikokun/generate-schema
表單生成不是一項微不足道的任務。 您可能需要考慮使用庫。 以下是一些可能對您有用的內容:
https://github.com/jdorn/json-editor/
另外,如果您需要幫助從JSON生成JSON模式:
當然還有: http : //json-schema.org/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.