作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!