Lithium MongoDB嵌入了一个模型对象

时间:2011-12-31 07:55:11

标签: mongodb lithium

我有一个带有嵌入式凭据文档的实体模型,其中包含用户名和密码属性。

  • 实体
    • ...
    • 凭证
      • 用户名
      • 密码

我目前在实体模型上设置了验证集,以确保数据库中没有现有的用户名。

我的问题是:我应该在验证模型上进行验证检查还是将其保留在实体模型上?此Stack Overflow帖子中显示了模型关系的示例实现:lithium fill multiple models from view

3 个答案:

答案 0 :(得分:0)

只要MongoDB关系不到位,你就必须在你自己之间进行修改。

建议的方法是将其置于实体级别并在验证中使用点语法(Lithium将在“子文档”中相应地识别这些)。

答案 1 :(得分:0)

正如Daschl所说:你必须手动完成。

您可以编写一个没有相关数据库连接的凭据模型,并在Entites save& amp;中嵌入凭证创建和验证触发器。创建过滤器。 你必须在某处注意用户名的唯一性。

如果您查询实体,您将获得包含SubDocuments的DocumentSet。但他们都与实体有关。喜欢(伪代码)

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

了解锂球。他们使用那些没有源连接的SubModel

答案 2 :(得分:0)

http://github.com/pointlessjon/sphere上查看Lithium Sphere代码,了解在博客文章中嵌入评论的真实示例