MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible d'utiliser Nested VariableOperators.mapItemsOf dans Spring Data MongoDb

Utilisez $reduce avec $concatArrays pour rejoindre les tableaux.

 new ProjectionOperation().and(
    ArrayOperators.arrayOf("processes")
      .reduce(ArrayOperators.ConcatArrays.arrayOf("$$value").concat(
           VariableOperators.mapItemsOf("$$this.ownership.assignees")
               .as("ass")
               .andApply(aggregationOperationContext -> {
           Document document = new Document();
           document.append("id", "$$ass.id");
           document.append("value", "$$ass.username");
           document.append("parentObjectId", "$$this.id");
           return document;
          })
    )).startingWith(Arrays.asList())
).as("results");