【问题标题】:Storing Tree Structures in Loopback - Can loopback support hierarchical data?在环回中存储树结构 - 环回可以支持分层数据吗?
【发布时间】:2016-02-17 00:19:03
【问题描述】:

如何在 Loopback.io 中存储以下树形结构

FolderItem{
      String name;
      ArrayList<Images> images;
      ArrayList<String> comments;
      ArrayList<FolderItems> items;
}

如果可能的话

FolderItem{
     MyData myData;   // 1-1
     ArrayList<FolderItem>  items;  // 0-n
}

在哪里

  MyData{
     String name;
     ArrayList<Images> images;
     ArrayList<String> comments;
}

如何在 Loopback 模型中存储文件夹结构? loopback strongloop 可以支持树层次模型吗?谢谢

【问题讨论】:

    标签: loopbackjs strongloop


    【解决方案1】:

    这是一个很好的问题。解决这个问题的一种方法是创建一个someModelhasManysomeModel 关系(模型与自身相关)。

    使用 strongloop 命令行:

    1. 创建FolderItem模型,并添加属性name
    2. 创建关系FolderItemhasManyFolderItem
    3. 启动您的服务器,并使用 api explorer 创建一个 POST api\FolderItem 以创建第一个 FolderItem
    4. 然后,使用POST api\FolderItem\1\folderItems\ 创建一个子项

    您将能够构建这样的树,但是您需要实现树遍历方法(我想您确实需要)。

    我从未尝试过,但我想你可以毫无困难地在模型上建立与自身的关系。请告诉我结果,这很有趣。

    PS:如果您的最终目标是描述文件夹层次结构,则最好为每个文件夹使用全局唯一的 id,并完全放弃整个层次结构。这几乎是所有基于云的存储服务所做的。只是说

    【讨论】:

    • 有趣的建议。好的,我会尝试其中一些方法
    • 当然,如果您进行了一些编辑/进展,请随时发表评论。
    • 您好,您能否详细说明一下全球唯一 id 方法。我想更好地理解这种方法。这不还是同类型文件夹实体之间的多对多关系吗?
    • 一个 hasMany 用于存储子级, hasOne 用于存储父级。不是 ManyToMany,因为在树中一个节点可以有多个子节点,但一个子节点始终只有一个父节点
    猜你喜欢
    • 1970-01-01
    • 2011-09-20
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多