sql >> データベース >  >> NoSQL >> MongoDB

MongoDBでSalatを使用するときに、compsiteキーを処理するための最良の方法は何ですか?

    ここに主なSalat開発者がいます。

    Milanが提案したように、複合キーのケースクラスを作成します。

    case class FooKey(someRelatedId: String, email: String)
    
    case class Foo(@Key("_id") naturalKey: FooKey) {
    
      // use @Persist if you want these fields serialized verbatim to Mongo - see https://github.com/novus/salat/wiki/Annotations for details
      @Persist val email =  naturalKey.email
      @Persist val someRelatedId = naturalKey.someRelatedId
    
    }
    
    object FooDAO extends SalatDAO[Foo, FooKey](collection = /*  some Mongo coll */ )
    

    フィールド名として「_id」に反対する場合は、コンテキストでグローバルオーバーライドを使用して、「_ id」を「naturalKey」に再マップするか、各オブジェクトにアドホック@Keyオーバーライドを指定できます。

    モデルで_idに別の名前を付けるのは個人的には好きではありません。その場合、Mongoクエリではシリアル化されたキー「_id」を使用する必要がありますが、すべてのビジネスロジックではケースクラスのフィールド名(「naturalKey」など)を使用する必要がありますが、YMMV 。

    P.S.メーリングリストはhttp://groups.google.com/group/scala-salat<にあります。 / a> -スタックオーバーフローよりも早く質問が表示されます。




    1. MongoDB$またはクエリ

    2. mongoを使用してすべてのドキュメントで配列の出現をカウントします

    3. Redis:ソートされたセットのスコアの合計

    4. jsonファイルをmongodbに挿入します