如何动态创建架构以存储文件夹结构?

时间:2019-04-26 00:05:31

标签: mongodb mongoose

我是MongoDB的新手,我正在尝试设计用于存储文件夹层次结构的架构结构。

这是我的架构设计:

children:[
    {
       id: Schema.Object,
       title : String,
       children:[
          {
             id:Schema.Object,
             titile: String
          }
       ]
    }
] 

以上子代将以以下方式动态存储详细信息。 该ID将引用具有文件夹详细信息的文件夹架构。

import java.util.*;
import java.util.function.*;

public class MyClass {
    public static void main(String args[]) {
        Consumer<String> func = s -> System.out.println(s);

        Set<String> s = new HashSet<>();
        s.add("lion");
        s.add("tiger");
        s.add("bear");
        s.forEach(s -> System.out.println(s)); //it dont!
        //s.forEach(func); //it works!
    }
}

以上方法工作正常。但是我在更新特定ID的标题时遇到一个问题,这很复杂。还有其他方法可以设计架构。预先感谢。

1 个答案:

答案 0 :(得分:0)

我认为嵌套children并不是实现此目的的适当方法。

相反,您可以为key引入一个新的childrenlevel有助于   识别结构/层次结构。

children:[
      {
         id:Schema.Object,
         titile: String,
         level: Number
      }
   ] 

例如:abc / bcd / egt / something

abc(root)-级别0

bcd-1级

鸡蛋-2级

某物-3级

它是动态的,易于维护。