2011-12-31 8 views
1

私は、ユーザー名とパスワードのプロパティを持つ埋め込み資格情報文書を持つエンティティモデルを持っています。モデルオブジェクトを埋め込んだリチウムMongoDB

  • エンティティ
    • ...
    • 資格情報
      • ユーザー名
      • パスワード

現在、データベースに既存のユーザー名が存在しないように、エンティティモデルに検証が設定されています。

私の質問は、資格証明書を資格証明モデルに入れても、それをエンティティモデルに残すだけですか? lithium fill multiple models from view

答えて

0

MongoDBの関係が成立していない限り、あなた自身でそれらの間のマングリングを行う必要があります。

エンティティレベルに配置し、検証でドット構文を使用することをお勧めします(これにより、リチウムはこれらを「サブ文書」で認識します)。

+0

にコメントを埋め込むことで、現実世界の例えばhttp://github.com/pointlessjon/sphereでリチウムスフィアコードに見てみましょう)を作成し、キー "credential.username"を作成しますか?それは私が持っているものですが、私はCredentialsモデル(Credentials :: Create)を明示的にインスタンス化することはありません。検証とパスワードのハッシュはCredentialsの代わりにEntitiesモデル上にあるので、ちょっと間違っていると感じます。その後、資格証明モデルを持つのは何ですか? –

0

Daschl氏が指摘したように、これは手動で行う必要があります。

関連するDB接続がない状態でCredentialsモデルを作成し、資格証明書を組み込み、Entites Save &フィルタにトリガを検証することができます。 あなたはどこかでユーザー名の一意性に注意を払わなければなりません。

エンティティにクエリを行うと、SubDocumentsを持つDocumentSetが取得されます。しかし、彼らはすべてエンティティに縛られています。 (擬似コード)

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

リチウム球を見てください。彼らは、ソース接続

0

せずに、これらのサブモデルを使用しますが、検証(公共の$を検証を行うことを言っている、ただ明確にするブログ記事

関連する問題