Отношения с литиевыми моделями

Не могу найти документацию по связям с моделями Lithum (с использованием MongoDB). Может ли кто-нибудь указать мне некоторую информацию или показать мне пример?


person Cobby    schedule 25.11.2010    source источник


Ответы (4)


Работа по взаимодействию лития была выпущена с версией 0.10. Начало документации можно найти в руководстве, хотя на литиевом сайте его еще нет.

person michaeltwofish    schedule 25.07.2011

Думал, вам может понравиться быстрое обновление.

Взаимоотношения сейчас перерабатываются в Lithium, я точно не знаю, насколько они завершены, но я считаю, что они в той или иной форме функционируют. Подробнее см. в разделе x-relationships.

ОБНОВЛЕНИЕ: для тех, кто гуглит и находит этот ответ, они теперь находятся в ядре и размещены на github.

person rich97    schedule 20.04.2011

Для базовых отношений я бы использовал идентификаторы, но на самом деле, если вам нужно установить много отношений между коллекциями, вам нужно либо переосмыслить настройку ваших данных, либо просто переключиться на реляционную базу данных.

Нереляционные базы данных — плохой выбор, когда вам нужны отношения.

person dragonmantank    schedule 25.11.2010
comment
Что делать, если у вас есть BlgoPost и пользователь, и вы хотите связать их? ... просто что-то вроде этого. - person Cobby; 27.11.2010
comment
(Предупреждение: я не очень часто имею дело с нереляционными БД, поэтому это может быть неоптимально). Вы можете хранить каждое сообщение под пользователем, поэтому у вас будет что-то вроде User.posts в виде массива сообщений. Затем вам нужно будет создать функции для поиска по всем массивам User.posts, чтобы найти, например, что-то вроде последних 5 сообщений. Другой вариант, как я уже сказал, состоял в том, чтобы иметь Post.userId = User._id. - person dragonmantank; 02.12.2010

Вы можете использовать Doctrine 2 или другую ORM для использования отношений в Lithium с реляционной базой данных, но, поскольку Lithium очень похож на Mongo/Couch DB в своем подходе, вопрос, который у вас есть, не столько о Lithium, сколько о подходе NoSql, который он обнадеживающий.

Кстати, я думаю, что отношения еще официально не поддерживаются в Lithium, но у NoSql есть свои собственные методы, которые в основном не нуждаются в них или не так сильно нуждаются в них, вставляя данные в JSON, например в синтаксис. Но я думаю, что это одна из функций, которая, похоже, появится в версии 1.0, и ожидайте сообщения в блоге о ней довольно скоро.

person Richard    schedule 14.12.2010