我想根据grails应用程序中设置的参数将域类映射到DBCollection。我是Spring,Grails和MongoDB的新手。
我有一个包含几个大型集合的mongodb数据库,我想让用户选择要将域类映射到哪个集合。理想情况下,域类可以反复重新映射,在不同的集合之间切换。
我正在设计web-app的前端,后端在别处处理......我将知道Mongodb数据库名称,但该数据库中的集合的数量和名称将是未知的
不幸的是,Morphia的Entity表示法只接受一个String常量,所以我无法将动态传递给它。我想我需要手动取消映射域类,更改集合设置,并重新映射类(删除bean可能?)。我很感激有关如何实现这一点的任何建议,最好使用mongodb-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)
}
}
P.S。我尝试使用静态映射,但是mongodb-morphia插件似乎没有注册我指定的集合。
谢谢
答案 0 :(得分:0)
您应该阅读Morphia-Plugin提供的用户指南。见这里:http://jkuehn.github.com/gorm-mongodb/
你的想法太过分了;)