gpt4 book ai didi

mongodb - Grails 3.1-找不到域类的编解码器

转载 作者:行者123 更新时间:2023-12-02 14:48:28 24 4
gpt4 key购买 nike

我无法将域类转换为Basic DB对象。
下面是我的代码:

def update_val    
class_object.class.withNewSession { MongoCodecSession m ->
update_val = m.pendingUpdates.find {
it.key.name == d.class.getName()
}.value[0]nativeEntry.regions[0]."${instance.getDbKey()}"[0]
}

在下面的findOneAndUpdate函数上,出现错误:“找不到类class.domain的编解码器”。 updateVal作为域类对象返回。
ClassName.class.findOneAndUpdate(new BasicDBObject(findVal), new BasicDBObject(updateval))

我将其从Grails 3.0转换为Grails 3.1,此处nativeEntry作为域类返回,而在以前的版本中,nativeEntry作为BasicDBObject返回。
有什么办法吗?
我在gorm 5.0和mongodb 3.4中使用Grails 3.1

最佳答案

我已经解决了。将以下解决方案添加到Application.yml

grails:
mongodb:
engine: mapping

它将MongoCodecSession转换为先前的MongoSession。
与编解码器一样,不再将对象首先转换为MongoDB Document对象,然后再转换为Groovy对象,而是驱动程序在驱动程序级别直接从JSON流读取Groovy对象,这比以前的MongoSession效率更高。

关于mongodb - Grails 3.1-找不到域类的编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53084064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com