Java Mongo查询另一个嵌套对象中的嵌套对象
我对MongoDb数据库的员工、部门和主题有几个类,关系如下Java Mongo查询另一个嵌套对象中的嵌套对象,java,mongodb,Java,Mongodb,我对MongoDb数据库的员工、部门和主题有几个类,关系如下 public class Employee { @Id private long id; private String name; @DBRef private Subject subject; } public class subject{ @Id private long id; private String name; @DBRef private Department department; } p
public class Employee {
@Id
private long id;
private String name;
@DBRef
private Subject subject;
}
public class subject{
@Id
private long id;
private String name;
@DBRef
private Department department;
}
public class Department{
@Id
private long id;
private String name;
}
我可以使用主题Id查询员工
db.employee.find("subject.$id":<subjectId>)
提前感谢您能否共享MongoDB中显示的一些对象,即Json?如果您使用的是Mongo3.2,那么您有内置的连接操作-但是您确定您的数据模型非常适合MongoDB吗?在Mongo中,通常最好将数据建模为非规范化文档,这样就不需要连接。
db.employee.find("subject.department.$id":<departmentId>)
Employee ::
{"_id": 1,"name":"student1","subject":{"$ref":"subject","$id":1}}
{"_id": 2,"name":"student2","subject":{"$ref":"subject","$id":2}}
{"_id": 3,"name":"student3","subject":{"$ref":"subject","$id":3}}
Subject ::
{"_id": 1,"name":"subject1","department":{"$ref":"department","$id":1}}
{"_id": 2,"name":"subject2","department":{"$ref":"department","$id":1}}
{"_id": 3,"name":"subject3","department":{"$ref":"department","$id":2}}
Department ::
{"_id": 1,"name":"department1"}
{"_id": 2,"name":"department2"}