我是MongoDB的新手,我为我的项目使用了Node.js,Express 4和mongoose(mongoDB)。我坚持将表单数据保存到循环中的mongoDB中,我的模型也包含对象和对象数组。如何使用node.js中的循环将表单数据作为对象和对象数组保存到mongodb中?
型号:
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}
],
....
});
控制器:
我想用这种方式保存数据:使用上述循环
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模型插入/保存数据的其他方式?
任何帮助将不胜感激。谢谢.. ..!
你尝试使用'Subscriber.create(form_data,callback)'? – 2014-10-09 21:50:19
@AndrewVolchenko我已经尝试过,并且对于像first_name,Last_name和all.nbsp但单独的字段工作正常,但在mongoDB模型中我有对象和对象数组,因此当时它没有得到保存,因为form_data将作为individual.For例如,我怎样才能保存form_data像first_name,residential_phone,residential_address mongoDB模型,如first_name:'',residential:{phone:'',address:''} using loop?谢谢..!! – Divyesh 2014-10-10 06:28:14