Mongo存储库findAll设置null属性

时间:2020-07-24 14:24:48

标签: java mongodb findall mongorepository

我有这个模型课:

@Data
@Document(collection = "ndvtype")
public class NdvType {
    @Id
    private String id;
    @Field
    private String label;
    @Field
    private String typeProcessor;
    @Field
    private String description;
    @Field
    private String language;
}

我的mongoDB中有这些条目(只是476个条目中的一个例子,但在mongoDB中它们的设置方式都相同):

{
    "_id": {
        "$oid": "5f1ad9ae3845379e90539f18"
    },
    "label ": "ASM",
    "typeProcessor": "ASMBNNNN",
    "description": "Pgm ASSEMBLEUR Batch",
    "language": "Assembleur"
}

我的方法如下:

public List<String> getAllNdvTypes ()  {
        Iterable<NdvType> ndvTypesList = ndvTypeRepository.findAll();
        List<NdvType> labelList = new ArrayList<>();
        ndvTypesList.iterator().forEachRemaining(labelList::add);
        return labelList.stream().map(NdvType::getLabel).distinct().collect(Collectors.toList());
    }

尽管我的所有标签字段都在数据库中设置,但在findAll()之后标签为空(其他属性由findAll正确获取)。

例如,如果我更改此行:

return labelList.stream().map(NdvType::getLabel).distinct().collect(Collectors.toList());

与此:

return labelList.stream().map(NdvType::getLanguage).distinct().collect(Collectors.toList());

有效。

我在堆栈溢出时没有发现任何类似的问题/解决方案(或者我看起来不够好)。

请问有什么事吗?

谢谢。

0 个答案:

没有答案