在mongoose中保存非结构化数据

时间:2015-06-12 22:18:11

标签: node.js express mongoose

如果我在express模型中明确定义了结构,我可以保存请求数据,但如果我没有明确定义数据结构,我就无法保存记录。

例如,如果我在模型中有这个,我可以保存

....
module.exports = mongoose.model('Form', new Schema({
    name: String,
    password: String,
    admin: Boolean
}));
...
...

但如果我有这样的话,我就无法保存

module.exports = mongoose.model('Form', new Schema());

这是我的模特

// get an instance of mongoose and mongoose.Schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

// set up a mongoose model and pass it using module.exports
module.exports = mongoose.model('Form', new Schema());

这是我的路由器

apiRouter.post('/forms/createForm', function(req, res) {

    var form = new Form(req.body);

    form.save(function(err) {
        if (err) throw err;

        console.log('Form saved successfully');
        res.json({ success: true });
    });

});

由于

1 个答案:

答案 0 :(得分:2)

好的,我的工作正常。

我可以使用严格的false选项来定义无模式结构。

多数民众赞成我是如何做到的:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

// set up a mongoose model and pass it using module.exports

module.exports = mongoose.model('Form', new Schema({}, { strict: false} ));