Я хотел бы отобразить класс домена в DBCollection на основе набора параметров в приложении grails. Я относительно новичок в Spring, Grails и MongoDB.
У меня есть база данных mongodb с несколькими большими коллекциями, и я хотел бы позволить пользователю выбрать, какую коллекцию сопоставить с классом домена. В идеале, класс домена мог бы быть переназначен снова и снова, переключаясь между различными коллекциями.
Я проектирую внешний интерфейс веб-приложения, причем другой интерфейс обрабатывается в другом месте ... Я буду знать имя базы данных Mongodb, но количество и имя коллекций в этой базе данных будут неизвестны .
К сожалению, нотация Morphia Entity принимает только строковую константу, поэтому я не могу передать что-то динамическое этому. Я думаю, что мне нужно вручную удалить класс домена, изменить настройки коллекции и переназначить класс (возможно, удалить бины?). Буду признателен за любые предложения о том, как это сделать, желательно с помощью плагина 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)
}
}
P.S. Я пытался использовать статическое отображение, но плагин mongodb-morphia, похоже, не регистрировал указанную мной коллекцию.
Спасибо