Bson无法找到编解码器

我正在使用Quarkus构建一个Web服务,该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来创建自定义编解码器提供程序,但是我不太了解如何做到这一点。

了解是否有人能够提供任何输入,并在需要时随时询问更多信息。谢谢!

qqliujiaolong 回答:Bson无法找到编解码器

使用PanacheMongo时遇到了相同的问题。对我来说,解决方案是公开这些字段。 Panache需要公共场所。

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

”由于我们的字段访问重写,当您的用户读取person.name时,他们实际上将调用您的getName()访问器,并且类似地用于字段写入和setter。这允许在运行时进行适当的封装,因为所有字段调用都将替换为相应的getter / setter调用。”

有关更多信息,请参见https://quarkus.io/guides/mongodb-panache

如果您不使用MongoPanache,则可以忽略我。或许也可以将其修复为普通的mongo。

本文链接:https://www.f2er.com/2660554.html

大家都在问