Использование MongoDB v2.6.5MongoDB искаженной Геометрия с GeoJSON
При попытке сохранить GeoJSON документ в БД я получаю следующее сообщение об ошибке:
name: 'MongoError',
code: 16755,
err: 'insertDocument :: caused by :: 16755 Can\'t extract geo keys from object, malformed geometry?: { _id: ObjectId(\'55271b90d075728028d4c9e1\'), ..., location: [ { _id: ObjectId(\'55271b90d075728028d4c9e3\'), loc: { type: "Point", coordinates: [ -105.01621, 39.57422 ] } } ] } ], status: [ "lead" ], created: new Date(1428626320406), lastName: "Doe", firstName: "John", __v: 0 }' }
Я пытаюсь вставить точку в таблица с индексом 2dsphere, все управляемое через MongooseJS, как показано ниже.
var GeoAddressSchema = new Schema({
// Only holds points.
loc: {
type: { type: String },
coordinates: []
}
});
var Lead = new Schema({
// Other fields ...
location: [GeoAddressSchema],
// ...
});
LeadAddressSchema.index({ location: '2dsphere' });
GeoJSON, что сохраняются:
{ type: "Point", coordinates: [ -111.855211, 33.58513 ] }
GeoJSON действует в соответствии с: http://geojsonlint.com/ если я оберните поля в кавычках, но мне не нужно, чтобы сделать это (а может не Монго насколько мне известно).
У кого-нибудь есть идеи, почему это не поможет? Это выглядит правильно.
Справочные ссылки
MongoDB GeoJSON: http://docs.mongodb.org/manual/reference/geojson/
MongoDB 2dSphere: http://docs.mongodb.org/manual/core/2dsphere/
GeoJSON указывает на сообщения об ошибках и отправил в ваш вопрос оба показателя для меня. Какую версию MongoDB вы используете? Можете ли вы опубликовать минимальный пример, который не подходит для вас? – wdberkeley