我的 MongoDB 中有 2 个集合。
Details1(包含对象 1 和对象 2 的详细信息) 详细信息2(包含对象2和对象3的详细信息)
java 对象本质上是 Object1 和 Object2 列表。 对象 3 是单独的。
Object1 包含一个名为 List 的属性 对象 2 包含链接到另一个集合中的对象 3 的字段。
目前我的 Dao 正在 ..... 获取对象 1 迭代列表对象 2 的内部对象 1。 使用对象 2 的信息获取对象 3。
我需要将其转换为 1 个 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);
我如何展开或合并这两个查询以使其查找对象....找到该对象....遍历对象内的列表....然后使用有关这些对象的附加信息。
最佳答案
考虑使用 $lookup 的聚合.
关于java - 使用 mongodb 查找,同时使用 java 中的吗啡迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57907664/