Lithium MongoDB встраивает модельный объект - PullRequest
1 голос
/ 31 декабря 2011

У меня есть модель сущности со встроенным документом учетных данных со свойством имени пользователя и пароля.

  • Сущность
    • ...
    • Полномочия
      • Имя пользователя
      • Пароль

В настоящее время у меня установлена ​​проверка на модели сущностей, чтобы убедиться, что в базе данных нет существующего имени пользователя.

Мой вопрос: должен ли я поставить проверку проверки на модель учетных данных или просто оставить ее на модели сущностей? Пример реализации отношений модели показан в этом сообщении переполнения стека: литий заполняет несколько моделей из вида

Ответы [ 3 ]

0 голосов
/ 04 января 2012

Как заметил Дашл: вы должны сделать это вручную.

Вы можете написать модель учетных данных без связанного с ней соединения с БД и встроить учетные данные для создания и проверки триггера в фильтрах сохранения и создания Entites. И вам нужно позаботиться об уникальности имени пользователя где-нибудь.

Если вы запросите сущности, вы получите набор документов с вложенными документами. Но все они связаны с сущностями. как (псевдокод)

DocumentSet {
  '_model' => Entites,
  'data' => array (
    'entityvar' => foo,
    'Credentials' => DocumentSet {
      '_model' => Entities,
      'data' => ...
    }
  )
}

Взгляните на литиевую сферу. Они используют эти подмодели без подключения к источнику

0 голосов
/ 06 января 2012

Посмотрите на код Lithium Sphere на http://github.com/pointlessjon/sphere, чтобы увидеть реальный пример встраивания комментариев в сообщение в блоге

0 голосов
/ 03 января 2012

Пока отношения с MongoDB не установлены, вам придется самостоятельно выбирать между ними отношения.

Рекомендуемый подход - поместить его на уровне сущностей и использовать точечный синтаксис в ваших проверках (Lithium распознает их в «поддокументах» соответственно).

...