我有这个模型课:
@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());
有效。
我在堆栈溢出时没有发现任何类似的问题/解决方案(或者我看起来不够好)。
请问有什么事吗?
谢谢。