Currently it's very hard to determine what the problem is when large shapes are invalid according to mongodb - geojsonlint helps somewhat, but in certain edge cases we're slightly more restrictive.
Improve error message for polygons with intersecting edges
Improve Error reporting of invalid geo queries
GeoJSON Parser: Can't extract geo keys from object, malformed geometry?
“Malformed geometry” error when creating a geosphere index for a valid MultiPolygon
Pull S2 header dependencies from non-geo headers
Crash when parsing invalid polygon coordinates
Capture S2 debug log messages