Grails mongodb-morphia plugin - динамически устанавливаемое сопоставление коллекции доменов - PullRequest
0 голосов
/ 25 февраля 2012

Я хотел бы отобразить класс домена в 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, похоже, не регистрировал указанную мной коллекцию.

Спасибо

1 Ответ

0 голосов
/ 10 марта 2012

Вы должны прочитать руководство пользователя, прилагаемое к плагину Morphia.Смотрите здесь: http://jkuehn.github.com/gorm-mongodb/

Вы думаете, что слишком спящий;)

...