我目前正在使用Grails 2.5.4,使用MongoDB插件(org.grails.plugins:mongodb:6.0.0.RC2),每当我尝试更新任何域类的List时,它都不起作用。
执行此代码时,remove函数会成功,save方法也会成功。但是数据库上的记录保持不变。
button.Click += async delegate {
Console.WriteLine("MessageBox.Show");
var answer = await MessageBox.Show(this, "Stack", "Overflow", "", "");
Console.WriteLine(answer);
};
消息域类映射如下:
def updateMessage(){
String id = '-1001066675850-7184293742'
Message message = Message.findById(id)
def entity = message.entities.get(0)
message.removeFromEntities(entity)
message.save(validate: true, failOnError: true, flush: true)
render message.entities
}
}
和MessageEntity
class Message {
User fromUser
String text
Chat chat
Date sentDate
List<MessageEntity> entities
String sticker
Point location
String id
boolean pinned = false
static belongsTo = [entities: MessageEntity]
static constraints = {
chat nullable: false
fromUser nullable: false
sentDate nullable: false
}
static hasMany = [entities: MessageEntity]
static mapping = {
id generator: 'assigned'
location geoIndex: '2dsphere'
}
我尝试从头开始创建新列表,将其添加到消息中,但仍然无法更新。
文档中是否有任何遗漏?
答案 0 :(得分:0)
显然,对于MongoDB 6.0.0.RC2的GORM或我(和朋友的)环境中的某些特定设置,更新列表已被破坏。
通过降级到版本3.0.1来解决它。