GORM - MongoDB不会在父类集上保存项目

时间:2013-03-19 15:48:21

标签: javascript mongodb grails gorm grails-domain-class

以下是域类

class Settings {
    static constraints = {
        uid(nullable: false, unique: true)
        data()
    }
    static hasMany = [items: Item]
    Map data
}

class Item{

    static constraints = {
        name()
        email()
        approved()
    }

    static mapping = {
        email index: true, indexAttributes: [unique: true]
    }

    String name
    String email
    Boolean approved = false;
}

基本上有很多设置对象有很多项目(见下图): Data Structure

现在我找到并更新了这样的项目:

...
        def item = (Item)Item.findByEmail(email);
        if (!item.approved) {
            item.approved = true;
            item.save(flush: true);
        }
...

未保存我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

MongoDB默认情况下不包括空字段。一旦我添加了一个值,一切运作良好:

...
    def item = (Item)Item.findByEmail(email);
    if (!item.approved) {
        item.approved = true;
        item.name = "MyName";
        item.save(flush: true);
    }
...