MongoDB 2.4 允许使用GeoJSON对象以及我想使用的一系列简洁的函数和索引。
它期望 GeoJSON 对象以如下格式存储:
loc: {
type: 'Polygon',
coordinates: [[[-180.0, 10.0], [20.0, 90.0], [180.0, -5.0], [-30.0, -90.0]]]
}
因此,在 Mongoose 中,人们会认为架构的定义如下:
loc: { type: 'string', coordinates: [[['number']]] }
但这会带来两个问题:
拥有一个名为“type”的字段会破坏 Mongoose 的模式解析,因为它允许在表单字段中定义字段:{ type: , index: } 等。
Mongoose 不喜欢嵌套数组。
克服这个问题的一种方法是简单地使用mongoose.Schema.Types.Mixed
,但是我觉得必须有更好的方法!