ОК, этот тип структуры должен быть действительно простым в реализации.
У вас есть две коллекции folders
и files
.
Элементы в folders
имеют такую структуру:
{
"_id":mongoid,
"name":"folderA",
"properties":"etc",
...
"folders":[{"folderB":refB}, {"folderC":refC}],
"files":[{"fileA":refA}]
}
Элементы в files
действительно просты:
{
"_id":mongoid,
"name":"fileA",
"size":1234,
...
}
Таким образом, в основном объект папки - это просто объект (со свойствами), который содержит два массива: один массив «подпапок» и один массив «файлов в этой папке».
Массивы могут быть просто ссылками, но в этом случае я сохранил их как имя и ссылку. Это упрощает перечисление хотя бы некоторой информации о файле.