Я новичок в mongoDB У меня есть один сценарий, как у меня есть 3 коллекции, которые должны объединить все 3 коллекции и вернуть данные одного списка коллекций.
Коллекция Exa Table1
@Document(collection= "table1")
public class Table1Entity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Field
private ObjectId id;
@Field
private String name;
//getter setter
}
@Document(collection= "table2")
public class Table2Entity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Field
private ObjectId id;
@Field
private String table1Id;
@Field
private String table3Id;
@Field
private String name;
//getter setter
}
@Document(collection= "table3")
public class Table3Entity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Field
private ObjectId id;
@Field
private String userId;
@Field
private String name;
//getter setter
}
Итак У меня userId = 1. Так что мне нужно зарегистрироваться в table3
коллекции, где userId = 1
, а затем вернуть все table1
записей
Как mysql
SELET t1.* from TABLE1 as t1 JOIN TABLE2 as t2 ON t1.id = t2.table1Id JOIN TABLE3 as t3 ON t2.table3Id = t3.id WHERE t3.userId = 1
Так как я могу создать такой запрос в mongoTemplate
@Repository
public class Table1Repository {
@Autowired
private MongoTemplate mongoTemplate;
}
Пожалуйста, дайте мне знать, кто-нибудь знает об этом