0

grailsアプリで設定されたパラメーターに基づいてドメインクラスをDBCollectionにマップしたいと思います。私はSpring、Grails、MongoDBに比較的慣れていません。

いくつかの大きなコレクションを持つmongodbデータベースがあり、ドメインクラスをマップするコレクションをユーザーが選択できるようにしたいと思います。理想的には、ドメインクラスを何度も再マップして、異なるコレクションを切り替えることができます。

Webアプリのフロントエンドを設計しており、バックエンドは他の場所で処理されています... Mongodbデータベース名はわかりますが、そのデータベース内のコレクションの数と名前は不明です。

残念ながら、Morphiaのエンティティ表記は文字列定数のみを受け入れるため、動的なものをそれに渡すことはできません。ドメインクラスのマップを手動で解除し、コレクション設定を変更して、クラスを再マップする必要があると考えています(Beanを削除する可能性がありますか?)。できればmongodb-morphiaプラグインを使用して、これを実現する方法についての提案をいただければ幸いです。

次のようなmongodbドメインクラスを作成しました。

package x

import java.util.Date;
import com.google.code.morphia.annotations.Embedded;
import com.google.code.morphia.annotations.Entity;

@Entity("someCollection")
class MongoLog {

        def Mongo
        def someService

        Date a
        String b
        String c
        Double d

        static constraints = {
                a(nullable:true)
                b(nullable:true)
                c(nullable:true)
                d(nullable:true)
        }
}

PS静的マッピングを使用しようとしましたが、mongodb-morphiaプラグインが指定したコレクションを登録していないようです。

ありがとう

4

1 に答える 1

0

Morphia-Plugin に付属のユーザーガイドをお読みください。ここを参照してください: http://jkuehn.github.com/gorm-mongodb/

あなたは冬眠しすぎていると考えています;)

于 2012-03-09T20:45:13.290 に答える