MongoDB 2.4 allows the use of GeoJSON objects and a slew of neat functions and indexes that I'd like to use.
It expects GeoJSON objects to be stored in the format like:
loc: {
type: 'Polygon',
coordinates: [[[-180.0, 10.0], [20.0, 90.0], [180.0, -5.0], [-30.0, -90.0]]]
}
So in Mongoose one would think the schema would be defined like:
loc: { type: 'string', coordinates: [[['number']]] }
But this present two problems:
having a field called "type" screws up Mongoose's schema parsing because it allows defining fields in the form field: { type: , index: } etc.
Mongoose does not like nested arrays.
One way to overcome this is to simply use mongoose.Schema.Types.Mixed
, however I feel that there has got to be a better way!