我有一个与mongo DB交互的Grails项目。我想知道创建表示嵌套数据的域类的最佳实践是什么。
数据例如:
settings:{
user:{id:1234 , name:"john"}
colors:{header:"red" , footer:"white"}
}
非常感谢任何帮助或代码示例
答案 0 :(得分:0)
我认为假设您正在使用mongodb插件是合理的。
说实话:
Class Settings {
int user_id
String user_name
String colors_header
String colors_footer
}
如果有像你一样的传统mongodb集合:
Class User {
int id
String name
}
Class Color {
String header
String footer
}
Class Settings{
User user
Colors colors
static embedded = ['user','colors']
}
答案 1 :(得分:0)
由于MongoDB是完全无模式的,因此意味着您不限于像关系数据库中那样的固定数量的列。所以创建嵌套数据相当容易。
这是一个例子:
//the domain class
class Settings {
Map user
Map colors
}
//in the groovy controller
def s = new Settings(user: [name:"jhon"],colors:[header:"red" ,footer:"white"] )
s.save(flush: true)