我正在使用Restangular与Mongolab连接。我想使用以下代码推送更新:
var theData = {"$push":{exercises :{type: "running"}}};
Restangular.all('employees').one(user._id.$oid).customPUT(theData ,null, {apiKey: apiKey});
当我运行这个并查看XHR请求时,有效负载始终设置为{}。
但是,如果我拉出$,我的有效载荷是这样的:
{"push":{exercises :{type: "running"}}}
在这种情况下,有效载荷看起来不错,但mongolab以为我想添加一个名为“推”场而不是推送到excercises数组,因为我没有使用“$ push”关键字。
我可以在字符串的任何地方除了前面有“$”(例如“$ push”和“push $”工作),但不幸的是,这是mongo推动更新所需要的。是否有一些设置,我错过了,或者这是一个错综复杂的错误?
这是正确...它看起来像有问题的代码是在[角源(https://github.com/angular/angular.js/blob/834d316829afdd0cc6a680f47d4c9b691edcc989/src/Angular.js #L908)。由于它只在对象上去掉,所以如果我在JSON.stringify()中自己将它添加到放置请求之前,我自己将其进行了字符串化,那么它就不会有任何问题。感谢您指点我正确的方向。 – jloosli