Sails.js - 水线模型 - 与自身的联系

时间:2015-10-13 21:43:23

标签: mysql sails.js waterline

我想创建一个类似于存储结构的树,以便与我的应用程序一起使用,但无法找到有关如何使用Waterline属性创建树模型的足够文档。

案例很简单。我需要有一组文件夹,可以有多个级别的子文件夹,最后是文件。您通常在mySQL中为此类数据执行的操作是将parent_id字段作为模型本身的外键添加到模型中。

如何使用sailsjs / waterline模型中的属性来完成?

我尝试过以下操作,这会产生相当多的冗余和孤立数据:

-

attributes: {
    name: {
       type: 'string'
    },
    parentFolder: {
      model: 'Folder'
    },
    childFolders: {
      model: 'Folder',
      via: 'parentItem'
    }
}

- 有什么想法吗?

顺便说一句,如果这是可能的,那么让我们说使用mySQL作为后端。怎么会复制说mongoDB?

1 个答案:

答案 0 :(得分:1)

这似乎有效:

    name: {
        type: 'string',
        maxLength: 255,
        required: true
    },

    parent: {
        model: 'folder'
    },

    childs: {
        collection: 'folder',
        via: 'parent'
    }

我相信通过在浏览器中直接通过GET发布数据来生成重复项。我通过POST与客户发布数据,似乎按预期工作。 (至少从我在mySQL中看到的内容)

相关问题