gpt4 book ai didi

java - Bson 找不到编解码器

转载 作者:行者123 更新时间:2023-12-01 18:00:19 26 4
gpt4 key购买 nike

我正在使用 Quarkus 构建一个 Web 服务,该服务接收输入、对其进行处理并将一些结果作为对象存储到 MongoDB 中。然而,它向我抛出了一个关于“Bson 无法找到编解码器”的错误。我相信这应该与我的对象的构造方式有关。

我的对象的示例属性:

public class ResultsResponse{
//Job id for tracking if using db to store
private String jobId;
private Boolean matched;
private long timeElapsedInMillis;
private String source1;
private String source2;
private Double absoluteTolerance;
private Integer maxResultsLimit;
private List<List<String>> missingRows;
private List<String> headers;
private List<List<String>> acceptableRows;

从我所做的谷歌搜索来看,我相信这是因为 Bson 无法映射 List<List<String>转换为 mongodb 数据类型。我还关注了 quarkus 文档 here创建自定义编解码器提供程序,但我不太明白我到底可以如何做到这一点。

感谢任何人能够提供任何意见,并在需要时随时询问更多信息。谢谢你!

最佳答案

我在使用 PanacheMongo 时遇到了同样的问题。对我来说,解决方案是将这些字段公开。华丽需要公共(public)领域。

通过定义 getter/setter,您可以确保封装:

“感谢我们的字段访问重写,当您的用户读取 person.name 时,他们实际上会调用您的 getName() 访问器,对于字段写入和 setter 也是如此。这允许在运行时进行正确的封装,因为所有字段调用都会被相应的 getter/setter 调用替换。”

参见https://quarkus.io/guides/mongodb-panache欲了解更多信息

如果你不使用 MongoPanache 你可以忽略我。或者也许它也修复了普通 mongo 的问题。

关于java - Bson 找不到编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60647225/

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