If you look at the $map documentation you will read the following about $$this:
A name for the variable that represents each individual element of the
input
array. If no name is specified, the variable name defaults tothis
.
In you sample document, the field fulfill is an array of objects. You $map using input:$fulfill and $toLong:$$this.tagSerialNumbers, but tagSerialNumbers is an array and this is why you get:
But I already mentioned:
An hint to the solution was also mentioned: