Grails mongodb morphia插件-动态设置域集合映射

Grails mongodb morphia插件-动态设置域集合映射,grails,mongodb,dynamic,dns,morphia,Grails,Mongodb,Dynamic,Dns,Morphia,我想根据grails应用程序中的参数集将域类映射到DBCollection。我对Spring、Grails和MongoDB比较陌生 我有一个包含多个大型集合的mongodb数据库,我想让用户选择将域类映射到哪个集合。理想情况下,域类可以一次又一次地重新映射,在不同的集合之间切换 我正在设计web应用程序的前端,后端在其他地方处理……我知道Mongodb的名称,但该数据库中集合的数量和名称未知 不幸的是,Morphia的实体表示法只接受一个字符串常量,所以我不能将动态的东西传递给它。我认为我需要手

我想根据grails应用程序中的参数集将域类映射到DBCollection。我对Spring、Grails和MongoDB比较陌生

我有一个包含多个大型集合的mongodb数据库,我想让用户选择将域类映射到哪个集合。理想情况下,域类可以一次又一次地重新映射,在不同的集合之间切换

我正在设计web应用程序的前端,后端在其他地方处理……我知道Mongodb的名称,但该数据库中集合的数量和名称未知

不幸的是,Morphia的实体表示法只接受一个字符串常量,所以我不能将动态的东西传递给它。我认为我需要手动取消映射域类,更改集合设置,然后重新映射该类(可能是删除bean?)。如果您能就如何实现这一点提出建议,我将不胜感激,最好使用mongodb morphia插件

我创建了一个类似以下内容的mongodb域类: 另外,我尝试使用静态映射,但mongodb morphia插件似乎没有注册我指定的集合


谢谢

您应该阅读随Morphia插件提供的用户指南。请看这里:

你想的太多了;)

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)
        }
}