You might not want duplicate values and to avoid that,
you can use an alternative to push. Instead of push, you can use add to set, add to set does almost the same
but if I run it, you see now we have no duplicate values because add to set essentially also pushes
but avoids duplicate values. If it finds that an entry already exists,
it just doesn't push the new value,
this is what adds to set does.
So with that, with unwind, with push in the group stage and with add to set in the group stage, you
get powerful features that should help you manage your array data efficiently and transform it into
whichever format you require.