0

这是域类

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;
}

基本上有很多设置对象有很多项目(见下图): 数据结构

现在我正在查找和更新这样的项目:

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

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

4

1 回答 1

0

默认情况下,MongoDB 不排除空字段。一旦我添加了一个值,一切都会很好:

...
    def item = (Item)Item.findByEmail(email);
    if (!item.approved) {
        item.approved = true;
        item.name = "MyName";
        item.save(flush: true);
    }
...
于 2013-03-20T08:12:28.637 回答