Spring Boot 在自定义对象(DTO)列表中使用@DBRef注解引用MongoDB集合,但引用值为空

bqujaahr  于 2023-03-12  发布在  Spring
关注(0)|答案(1)|浏览(130)

我有个模特班
评估模板
是这样的。

public class AssessmentTemplate {

@Field("_id")
@Id
private String assessmentId;
private Date creationDate;
private String type;
private String status;
@Field("coreQuestions")
private QuestionTemplate[] coreQuestions;
@Field("baseQuestions")
private QuestionsTemplate[] baseQuestions;
}

这是对象的嵌套数组
问题模板,如下所示

public class QuestionsTemplate {
@DBRef
private Question questionsId;
private int score;
}

疑问句

public class Question {
@Id
private String id;
private String name;
@DBRef
private List<Option> options;

}
在查询问题上,选项引用数据加载良好

在Mongo方面-我收集了 * 问题 * 和 * 评估模板 *。

查询评估数据时,我没有获得JSON格式的问题数据
我需要输入我可能会出错的地方。如果需要任何更多的信息,请请求。

  • 免责声明 *-在mongo中添加的数据是通过手动JSON输入而不是通过REST端点。
xxhby3vn

xxhby3vn1#

这个问题不是在java端,而是在mongo-end。我引用问题集合的地方,我传递id作为

"question":{
"$ref":"question",
"$id":"640b87a5dd7cbc1dac84d65a"
}

而对我有效的是

"question": {
"$ref": "question",
"$id": {
"$oid": "640b87a5dd7cbc1dac84d65a"
}
}

相关问题