Grails和mongo DB嵌套数据结构

时间:2013-01-01 15:08:50

标签: json mongodb grails grails-domain-class database

我有一个与mongo DB交互的Grails项目。我想知道创建表示嵌套数据的域类的最佳实践是什么。

数据例如:

settings:{
  user:{id:1234 , name:"john"}
  colors:{header:"red" , footer:"white"}
}

非常感谢任何帮助或代码示例

2 个答案:

答案 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)