Весенняя загрузка MongoTemplate multi collection JOIN - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в 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;

}

Пожалуйста, дайте мне знать, кто-нибудь знает об этом

...