如何在sails js中同时使用对象params请求保存多个数据

时间:2016-04-08 11:22:26

标签: node.js mongodb loops asynchronous sails.js

目前,我正在为移动应用开发带有sas js + mongoDB的API。我想保存从移动应用程序发送的多个数据,并通过控制器功能中的 req 参数(作为对象)捕获它。

我的控制器代码的某些部分如下所示:

var contactData = req.allParams().Contact;
looping.. {
    Contact.create(contactData[index]).exec(function addContact(err,createdContact){  });
}

您能否告诉我如何实现循环以将多个联系人数据保存到数据库?

问候,argi danu。

1 个答案:

答案 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数据库