提问者:小点点

使用MongoDB查找,同时迭代通过一个列表与java


我的MongoDB中有2个集合。

Details1(包含对象1和对象2的详细信息)Details2(包含对象2和对象3的详细信息)

java对象本质上是带有Object2列表的Object1。对象3是单独的。

Object1包含一个名为List Object 2的属性,其中包含要链接到另一个集合中的对象3的字段。

目前我的道去…… get object 1遍历列表object 2的内部对象1。使用来自对象2的信息获取对象3。

我需要把它变成一个单一的mongoDB查询。

对象1的DAO=获取对象1:-

  Query<FclDetail> query =
                this.createQuery()
                        .field(GROUP_ACCOUNT_NO).equal(requestData.getGroupAccountNo())
                        .field(OFFICE_ID).equal(requestData.getOfficeId())
                        .field(AC_SYS_ID).equal(requestData.getAcSysId());

服务:-

 FclDetail fclDetail = fclDao.getFclDetails(request.getRequestData());
 FundIfchFacility fundIfchFacility = serviceMapper.map(fclDetail);
 fundIfchFacility.getBsLmStructureNodeList().parallelStream().forEach((bsLmStructureNode) -> {
            FclCliDetail fclCliDetail = fclCliDetailDao.getFclCliDetails(bsLmStructureNode.getNodeInstanceId(),bsLmStructureNode.getStructureCode());}

第二DAO电话:-


        Query<FclCliDetail> query = this.createQuery()
                .field(STRUCTURE_CODE)
                .equal(strCde)
                .field(NODE_INSTANCE_ID)
                .equal(ndeItaId);

如何展开或合并这两个查询以使其查找对象……找到对象……遍历对象内部的列表……然后使用这些对象的附加信息查找其他集合。



共1个答案

匿名用户

考虑使用带有$查找的聚合。