With thanks to mikejs, again, for fixing gomongo.
As mentioned previously there was a bug with the gomongo package that caused structs that contained slices not to Unmarshal correctally.
This is now fixed, and all of my tests show that even very complex structs that contain multi-level slices & structs worked flawlessly.
If you’re interested in using the mongo with Go I highly recommend it. Their idioms are extremely compatible. Go’s Composite Literals make generating queries a breeze.