javascript - MEAN堆栈中的动态html表单生成

标签 javascript json node.js mongodb express

我刚开始学习 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

关于javascript - MEAN堆栈中的动态html表单生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35799329/

相关文章:

node.js - NPM安装显示错误

javascript - 使用 jquery $.each 迭代 localStorage 对象

javascript - 在下拉列表中获取重复值

json - 如何使用 bash 或 jq 在 linux 中解析 Json 文件以设置结果

javascript - 从返回的查询数组中获取对象的值 (Parse.com + Node.js)

Node.js util Promisify Mongoose 方法

javascript - 如何在 vb.net 2005 中创建一个 json 对象

javascript - CKEDITOR - 单击工具栏上的 'Save' 按钮并调用自己的函数时防止页面刷新

javascript - JavaScript 中的对象没有返回值

php - 使用 php 将 json 日期格式转换为 mm/dd/yy 之类的格式