How to merge embedded arrays?

How do I merge arrays? Given this object…

workout.nonSupersetted: [
  0: {
        superset: "A",
        exercises: [
          0: {
            supersetIndex: "1",
            exercise: {},
            valuesThatVaryByWeek: []
           }
         ]
     },
  1: {
        superset: "A",
        exercises: [
          0: { supersetIndex: "2", exercise: {}, valuesThatVaryByWeek: [] }
         ]
     },
  2: {
        superset: "B",
        exercises: [ 0: { supersetIndex: "1", .... } ]
     },
  3: {
        superset: "B",
        exercises: [ 0: { supersetIndex: "2", .... } ]
     },
  4: {
        superset: "C",
        exercises: [ 0: { supersetIndex: "1", .... } ]
     },
  5: {
        superset: "C",
        exercises: [ 0: { supersetIndex: "2", .... } ]
     },
]

I want to end up with this…

workout.nonSupersetted: [
 0: {
        superset: "A",
        exercises: [
          0: {
            supersetIndex: "1",
            exercise: {},
            valuesThatVaryByWeek: []
           },
          1: { supersetIndex: "2", exercise: {}, valuesThatVaryByWeek: [] }
         ]
     },
 1: {
        superset: "B",
        exercises: [
          0: { supersetIndex: "1", ... },
          1: { supersetIndex: "2", ... }
         ]
     },
 2: {
        superset: "C",
        exercises: [
          0: { supersetIndex: "1", ... },
          1: { supersetIndex: "2", ... }

         ]
     }
]

Caveats: I want this to be done within an aggregation pipeline, since that’s what I’m using to generate this doc so far.

Please update your sample documents and make them real JSON.

We cannot cut-n-paste your documents as-is. Arrays do not show their indices. Three little dots is not syntactically correct.

1 Like