首页 文章

如何使用node.js中的循环将表单数据作为对象和对象数组保存到mongodb?

提问于
浏览
3

我是新来的MongoDB,我如何使用Node.js,Express 4的和猫鼬(MongoDB的)我project.I坚持节约循环内的表单数据的MongoDB和我的模型包含对象和对象数组以及 .

Model

var Subscriber = new Schema({  
    first_name: String,  
    emergency_contact_1: {  
        name: String,  
        number: [{  
            type: String  
        }]  
    },  
    residential: {  
        phone: String,  
        address: String,  
        ...  
    },  
    medications: [  
    {  
        visit_id: { type: Object },  
        name: String,  
        ....  
    }],  
    food_allergies: [  
        {type: String}  
    ],  
    ....  
});

Controller
我想以这种方式保存数据:

var subscriber = new Subscriber();

//Here I am trying to save all form's fields to mongoBD fields.
for (var field in form_data) {
    subscriber[field] = form_data[field];
}

subscriber.save(function (err1, instance) {
    if (err) {
        console.log("error");
        return res.send("...");
    }
    console.log("saved successfully");
}

正常字段使用上面的循环正确保存,但是当对象或数组出现时,它将无法保存到mongoDB .

有解决方案吗或通过循环插入/保存数据到mongoDB模型的任何其他方式?
任何帮助将不胜感激 . 谢谢你.. !!

1 回答

  • 0

    的NodeJS

    var PersonSchema = new Schema({
        name: {
            given: {
                type: String,
                required: true
            },
            family: {
                type: String,
                required: true
            }
        },
        children: [PersonSchema]
    });
    
    var Person = mongoose.model('Person', PersonSchema);
    
    app.post('/person', function (req, res) {
        Person.create(req.body)
            .then(function (created) {
                console.log(created);
                res.json(created.id);
            });
    });
    

    客户

    $.ajax({
        url: '/person',
        type: 'POST',
        data: {
            name: {
                family: 'Green'
            },
            children: [{
                name: {
                    given: 'Matt',
                    family: 'Green'
                }
            }, {
                name: {
                    given: 'Dave',
                    family: 'Green'
                }
            }]
        }
    })
    

    如您所见,我有嵌套的对象和数组 . 这对我来说很好:)

相关问题