Lili MongoDB嵌入模型对象

Lili MongoDB嵌入模型对象,mongodb,lithium,Mongodb,Lithium,我有一个实体模型,其中包含一个带有用户名和密码属性的嵌入式凭证文档 实体 证书 用户名 密码 我目前在实体模型上设置了验证,以确保数据库中没有现有用户名 我的问题是:我应该将验证检查放在凭证模型上,还是只保留在实体模型上?模型关系的一个示例实现如本堆栈溢出帖子所示:只要MongoDB关系不存在,您就必须自己处理这些关系 推荐的方法是将其放在实体级别,并在验证中使用点语法(Lili将相应地在“子文档”中识别这些语法)。正如Daschl指出的那样:您必须手动执行此操作 您可以编写没有相

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

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


我的问题是:我应该将验证检查放在凭证模型上,还是只保留在实体模型上?模型关系的一个示例实现如本堆栈溢出帖子所示:

只要MongoDB关系不存在,您就必须自己处理这些关系


推荐的方法是将其放在实体级别,并在验证中使用点语法(Lili将相应地在“子文档”中识别这些语法)。

正如Daschl指出的那样:您必须手动执行此操作

您可以编写没有相关数据库连接的凭据模型,并将凭据创建和验证触发器嵌入Entites保存和创建筛选器中。 你必须注意用户名的唯一性

如果查询实体,您将得到一个包含子文档的文档集。但它们都与实体相联系。like(伪代码)


看看锂球。他们使用那些没有源连接的子模型

看看Limition Sphere code at,了解在博客帖子上嵌入评论的真实示例

只是为了澄清一下,你说的是在实体模型上进行验证(public$validates),并将密钥设为“credential.username”?这就是我所拥有的,但我从未显式地实例化凭证模型(Credentials::Create),所以它工作得非常好。但感觉有点不对劲,因为验证和密码散列是在实体模型上,而不是凭证上。那么,拥有凭证模型有什么意义呢?
DocumentSet {
  '_model' => Entites,
  'data' => array (
    'entityvar' => foo,
    'Credentials' => DocumentSet {
      '_model' => Entities,
      'data' => ...
    }
  )
}