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プラグインが指定したコレクションを登録していないようです。
ありがとう