【发布时间】:2026-01-31 13:25:01
【问题描述】:
我的 MongoDB 数据是这样的:
{
"college": [
{
"batch": {
"subject": [
{
"name": "DBA"
}
],
"name": "BBA",
"year": "2016"
}
},
{
"batch": [
{
"subject": [
{
"name": "ECO"
}
],
"name": "BCA",
"year": "2016"
},
{
"subject": [
{
"name": "ECO"
}
],
"name": "BCA",
"year": "2016"
},
{
"subject": [
{
"name": "ECO"
}
],
"name": "BCA",
"year": "2016"
}
]
}
]
}
我正在尝试使用 spring data MongoDB 从 MongoDB 中获取所有数据。我为“College”和“Batch”创建了实体类。似乎批处理作为对象形式在一个数组中,因此它返回“无法使用带参数的构造函数 NO_CONSTRUCTOR 实例化 java.util.List”。无论如何要解决这个问题? TIA
我的实体类:
@Document(collection = "college")
public class College {
private List<Batch> batch;
public List<Batch> getBatch() {
return batch;
}
public void setBatch(List<Batch> batch) {
this.batch = batch;
}
}
并使用 mongoRepository 获取数据
for (College college: collegeRepository.findAll())
【问题讨论】:
-
我认为这是不可能的。无论如何,检查这个。这可能会给你一些想法*.com/questions/41029618/…
-
您在 DB 中显示的数据和您编写的类完全不匹配。您对它们进行了错误的建模,并且数据库中的数据根本不正确。该结构应该适合在应用层中将它们作为实体处理。
标签: mongodb mongodb-query spring-data-mongodb