从Angular js到Node.js,MongoDB中的数据保存不正确

时间:2014-01-27 06:37:37

标签: javascript node.js mongodb angularjs

我正在使用Angular.js,Node.js和MongoDB构建应用程序。

我正在向MongoDB发送一组数据,如下所示。

$http({
method: 'POST',
url:'http://localhost:2000/postsharedata',  data:({event:$scope.event,date:$scope.eventdate,expenselist:$scope.expenses,expense:$scope.totalAmount,sharelist:$scope.sharelists,shareno:$scope.share()}),
}).success(function(data) {
  console.log(data);
});

发送给MongoDB的售货员如下:

[Object { text="a", done=true,$$hashKey="00I",$oldValue="5000",$value="5000"}]

但是在mongoDb中,数据类似于[ { "text" : "a", "done" : true }]

为什么没有存储$ oldValue和$ value?

请建议

1 个答案:

答案 0 :(得分:1)

如果您使用$http邮政服务将数据提交到服务器,则角度转换您的数据并删除所有以至少一个$字符为前缀的属性。这在toJson函数(http://docs.angularjs.org/api/angular.toJson)中有记录。

如果您想提交数据而不管前导$字符,您必须更改角度在提交之前转换数据的方式。这可以通过使用transformRequest config参数轻松完成:

$http({
   method: 'POST',
   url:'http://localhost:2000/postsharedata',    
   data:(... your data ...),
   transformRequest: function(data){return data}
})

$http服务文档中的更多信息。