0

我想根据 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 插件似乎没有注册我指定的集合。

谢谢

4

1 回答 1

0

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

你想的太冬眠了;)

于 2012-03-09T20:45:13.290 回答