我正在使用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?
请建议
答案 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服务文档中的更多信息。