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 はデフォルトで null フィールドを除外しません。値を追加すると、すべてうまくいきます。

...
    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 に答える