0
これはGrailsの中に顧客のドメインクラス(V3.1):Grailsの
class Customer {
static mapWith = 'mongo'
String id
String email
Boolean blacklisted
String name
String telephone
Date dateCreated
Date lastUpdated
String language = 'en'
static constraints = {
email nullable: false
blacklisted nullable: false
name nullable: true
language nullable: true
telephone nullable: true
}
static mapping = {
version false
}
}
私が挿入し、このクラスを使用してのMongoDBにおけるカスタマー・コレクションに更新し、それが働いていることができます良い。この問題は、NULL値を持つフィールドの1つを保存しようとしたときに発生します。 nullに値を設定
customer.telephone = null
customer.save()
は、その値が更新前の値に設定されたままになります、MongoDBのコレクション内のフィールドには効果がありません。たとえば、電話機が「1234567」に設定されていて、Nullに更新すると、MongoDBの値は「1234567」のままです。
私はfailOnError: true
とflush: true
をsave()
に使用しようとしましたが、どちらも動作していません。助言がありますか?
null値で保存した後にlastUpdatedが更新されましたか?ヌル値と同じコミットで他の非NULL値が更新されていますか? –
@MikeW、lastUpdatedフィールドは、null値で保存した後に更新されています。また、null以外の値は、NULL値と同じコミットで更新されます。 – Haris