我试图通过我的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()的官方文件