在一个 Spring 项目中,我使用 Spring Data MongoDB,并且有 2 个类:
public class ClassA
{
@Id
private String id;
private String description
@DBRef
private ClassB classBId;
// Getters and Setters
}
public class ClassB
{
@Id
private String id;
private String description
// Getters and Setters
}
所以我有 2 个集合,classA 和 classB,并用几个实例填充它们。
classA 实例的存储方式如下:
{“_id”:{“$oid”:“5086b371004d7c4bfff0a142”},“_class”:“com.spring.custom.ClassA”,“description”:“描述A”,“classBId”:{“$ref”:“类B”,“$id”:{“$oid”:“50866d45004d84852b16a8b8”}}}
我的问题是,如何进行查询以返回所有引用 id 为 50866d45004d84852b16a8b8 的 classB 实例的 classA 对象?
我试过这样但没有成功:
ClassB cb = new ClassB(); cb.setId("50866d45004d84852b16a8b8");
Criteria criteria = Criteria.where("classBId").is(classBObject);
Query query = new Query(); query.addCriteria(criteria);