我试图通过我的sails.js应用程序中的API来持久保存以下嵌套的JSON对象 .
{
"firstName": "jimi",
"lastName": "hendrix",
"pets": [
{
"breed": "labrador",
"type": "dog",
"name": "fido"
},
{
"breed": "poodle",
"type": "dog",
"name": "fenton"
}
]
}
这些模型与the sails docs完全一样 - 通过所有者将宠物作为收集品 .
当我将这个JSON发送到我的控制器时,我得到了臭名昭着的“预期的一系列ID”错误 . 对于这个简单的示例,解决方法非常简单(如果您想查看该代码,请告诉我,但这很简单):
-
我们可以先存储没有宠物收藏的人,检索personID,更新宠物收藏中的每个项目,将
owner
的值更新为创建的personID并创建每个宠物 -
我们可以先存储每只宠物,将petID存储在一个数组中,用petID数组替换我们的JSON的宠物集合,然后存储该人
一旦我可能有更深层次的嵌套对象,这两种方式都显得草率和繁琐 . 此外,这似乎是帆0.x(在帆1.0.x之前的意思)中的一个特征,但被删除了 - 你能想到任何原因,为什么? (除了它还没有完成)
The resulting questions are:
-
无论如何存在一个具有正确关系的嵌套对象,而没有编写奇怪的foreach循环?
-
这基本上是一个数据建模问题,这意味着我应该避免使用嵌套对象吗?
链接:One-to-Many和.createEach()的官方文件