хранит дерево файловой системы в mongodb и служит json для flex-приложения - PullRequest
2 голосов
/ 17 апреля 2011

Я хочу сохранить дерево файловой системы в MongoDB в приложении Ruby, поэтому мы говорим о представлении json / bson чего-то вроде:

/
/foo
/foo/one
/foo/bar/two
/foo/bar/three
/four

Моя цель - эффективно хранить его и передавать через json в приложение Adobe Flex, которое отобразит его в компоненте Tree.

Какое, на ваш взгляд, лучшее решение?
этот документ предлагает несколько вариантов. Я хотел бы пойти на что-то вроде первого шаблона (с учетом ограничения размера документа 16 МБ) в следующем формате:

{"/" => [{"foo" => ["one", {"bar" => ["two", "three"]}]}, "four"]}

что ты думаешь? Это хороший формат для хранения иерархического дерева файловой системы?

приветствуется любое предложение.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2011

Есть много способов решить эту проблему, но вот решения, которые будут самыми простыми для Flex (не для сервера).

Приведенные вами примеры данных немного странны для ИМО.По умолчанию компонент дерева Flex принимает объект (любых типов) и проверяет, есть ли в нем свойство с именем 'children', если оно есть, то оттуда оно разветвляется.

Итак, еслиЕсли вы хотите отобразить эту структуру каталогов в компоненте дерева, вы отправите JSON, подобный следующему:

{name:'/', children:[{name:'foo', children:[{name:'one'},{name:'bar', children:[{name:'two'},{name:'three'}]}]},{name='four'}]}

Имеет смысл?

1 голос
/ 18 апреля 2011

Либо вы используете GridFS, либо

посмотрите на

http://www.mongodb.org/display/DOCS/Trees+in+MongoDB /1315191/mongodb-vlozhennye-nabory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...