【问题标题】:Grails mongodb-morphia plugin - dynamically set domain collection mappingGrails mongodb-morphia 插件 - 动态设置域集合映射
【发布时间】:2012-02-24 20:36:20
【问题描述】:

我想根据 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)
        }
}

附:我尝试使用静态映射,但是 mongodb-morphia 插件似乎没有注册我指定的集合。

谢谢

【问题讨论】:

    标签: grails mongodb dynamic dns morphia


    【解决方案1】:

    您应该阅读随 Morphia-Plugin 提供的用户指南。见这里:http://jkuehn.github.com/gorm-mongodb/

    你想的太冬眠了;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-02
      • 2011-04-30
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多