目前,我正在为移动应用开发带有sas js + mongoDB的API。我想保存从移动应用程序发送的多个数据,并通过控制器功能中的 req 参数(作为对象)捕获它。
我的控制器代码的某些部分如下所示:
var contactData = req.allParams().Contact;
looping.. {
Contact.create(contactData[index]).exec(function addContact(err,createdContact){ });
}
您能否告诉我如何实现循环以将多个联系人数据保存到数据库?
问候,argi danu。
答案 0 :(得分:1)
好的,所以如果你知道请求参数的'name'属性,那么你可以简单地使用create方法 -
var contactData = req.allParams();
var name = contactData.name // attribute name
var number = contactData.number // attribute name
之后只需调用create方法
Contact.create({name : name, number :number}).exec(functionaddContact(err,createdContact){
// DO Something
});
但是如果您严格要使用for循环来获取请求参数中的所有数据,那么请考虑以下情形 -
通过将contactData附加到[] as
中,将req参数的组合转换为JSON对象 var json = '[' + contactData +']';
然后使用以下代码从创建的JSON对象中获取参数值,如下所示
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if(typeof obj[property] === 'string') {
console.log(property); // provides the property name
console.log(obj[property]); // provides the value of the property
}
}
可能有帮助。它适用于SQL数据库