Иерархическое хранение данных

Ирокез

бессмертный пони
Команда форума
Партнер клуба
эмм... я не очень понимаю, что ты имеешь ввиду.
эмм, блин знать бы что еще точно надо "высшим силам" :) но примерно так: (далее из объяснений, с переводом на php)

PHP:
$objects = db::mongo.find({name:{$regex:'/^[0-9]+/'}, date:{$gt:'2012-01-01', $lt:now()}}, {id:1, name:1});

foreach($objects as $obj) {
 echo $obj->id, $obj->name, $obj->version[0]['amount']['value'],$obj->version[0]['amount']['currency'];
}

# т.е. поле version, есть массив версий документа у которого есть свои свойства, при этом можно делать еще и так:
$obj->version.find(amount->value:{$gt:10000}) # amount->value, не знаю как записать, поиск в mongo по свойству amount->value
я можно сделать условно свой класс, который будет выполнять lazy load - version

upd: флоппик еще немножко и я воспользуюсь советом, хрен с этим бали :)
 

флоппик

promotor fidei
Команда форума
Партнер клуба
ну, просто это же документо-ориентированная база. Предков там вообще не обязательно вытаскивать как-то «по-особому». Можно DbRef использовать, например, если их прям так хочется хранить в отдельной коллекции.
Тут важно понимать одну вещь — nosql это не «таблички с произвольным числом столбцов» а альтернативный подход к хранению и построения отношений между данными.
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
ну, просто это же документо-ориентированная база. Предков там вообще не обязательно вытаскивать как-то «по-особому». Можно DbRef использовать, например, если их прям так хочется хранить в отдельной коллекции.
Тут важно понимать одну вещь — nosql это не «таблички с произвольным числом столбцов» а альтернативный подход к хранению и построения отношений между данными.
да, спасибо, имелось ввиду произвольное количество столбцов, больше похожее на property storage, в котором могут добавляться произвольные поля, причем они могут существовать\не существовать в записях и с возможностью индексации.

сорри, если не сразу четко сформулировал мысль. похоже - светит "Бали", пишу ТЗ :), если вдруг срастется, имеет ли такое решение право на публичность или всетаки это частное решение?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
На веборубе Sad Spirit что-то такое рассказывал о Postgres, я краем уха лишь слышал, отпиши ему в личку.
Я рассказывал о том, что в Postgres'е есть рекурсивные запросы (WITH RECURSIVE). Тут в форуме тема была с примерами.

Про ключ-значение в виде полей hstore я тоже рассказывал.
 

atv

Новичок
имелось ввиду произвольное количество столбцов, больше похожее на property storage, в котором могут добавляться произвольные поля, причем они могут существовать\не существовать в записях и с возможностью индексации
Из того что я слышал про монго ДБ, так там это возможно (может ну его нафиг этот "Бали" :) )
 
Сверху