如何通过角度js将数组插入节点js web服务?

时间:2015-10-02 06:20:41

标签: javascript arrays angularjs node.js

我正在尝试将数据数组插入到节点js Web服务中。代码看起来像这样。

$scope.addList = function(task,subtask){
         subtask.checked= !(subtask.checked);
       var data = {
       "taskId": task._id,
       "subTaskName": subtask.subTaskName,
     };     
        if(subtask.checked){

          angular.forEach(data, function(value,key){
            this.push(key + ': ' + value);
          },selectedMap); 

        }
        else{
          delete selectedMap;
        }
      }

如果我在控制台中打印selectedMap,我会得到这样的数组。

tasks:  {
0: "taskId: 1"
1: "subTaskName: SOW Updation"
2: "taskId: 1"
3: "subTaskName: Estimation - High Level"
4: "taskId: 2"
5: "subTaskName: Feasibility Study"
}

但我需要这样插入DB

subTasks: [{
"task_id": 1,
"subTaskName": "Requirements Analysis"
},
{
"subTaskName": "Feasibility Study",
"task_id": 2
},
{
"subTaskName": "Requirement Elicitation",
"task_id": 3
},
{
"subTaskName": "Requirements Understanding",
"task_id": 4
},
{
"subTaskName": "Requirement Documentation",
"task_id": 5
}]

任何人都可以帮我做这个..?

1 个答案:

答案 0 :(得分:1)

您正在数组中添加键值,而不是添加对象。

根据您的输出,selectedMap未正确定义。它应该是 selectedMap = [];代码中定义的任何地方。

试试这个:

selectedMap = {};