AngularJS对象序列化的缺点

我正在做一个由node.js / mongodb后端服务的angularJS应用程序。

我的服务器提供了一个用于存储和返回JSON对象的rest API。 我的一些mongodb模式有几个ref,在被送达到angularJS应用程序之前,被dynamic地填充。 我的一些对象是“复杂的”,即我有一个包含对象数组的对象,这些对象已经得到了我的用户的引用。 看来,当我使用$资源来更新(PUT)服务器上的这个对象,最后一级的间接不处理。

代替 :

{ enrollments: [ { price: 100, userProfile: { _id: 'xxxxxxxxxxxxxxxxxxxxxxx' name: "Roger" } } ] } 

我有这样的事情:

 { enrollments: [ { price: 100, userProfile: [Object] } ] } 

所以我的更新擦除了我的数据库中有关用户configuration文件的信息。 似乎在第三级之后,串行器停止查找更多数据。

我已经做了一些在AngularJS文档,在计算器上的广泛研究,但无济于事。 当然是因为这个问题的一般性质。

我目前的结论是编写一个自定义的“请求转换”来改变JSON序列化的方式。 但是需要? 有没有更简单的方法来解决这个问题?

谢谢,Stéphane

看起来你在数据库中有什么不对应于你在Mongoose模式中拥有的东西。 已经有一些现有的数据后,你有更改mongoose架构吗? 上周发生在我身上,所以这是我第一次猜测…

你也可以确认这是由于Angular.js? 例如,你可以尝试debugging你的node.js应用程序,看看它是否正常工作? 这听起来不像客户端问题!

更新

你可以确认,当发布/获取数据与一些HTTP客户端(例如邮递员REST客户端 )的API工作得很好。