我对这个有点难住。Mongoose/MongoDB - 一些坐标对不再使用2dsphere索引
我使用猫鼬与下面的架构节省地理数据:
var placeSchema = new Schema ({
product: {type:Schema.ObjectId, ref:'Product', required:true},
text : String,
geo : { type: [Number], index: { type: '2dsphere', sparse: true } },
geo_name : String,
dateAdded: {type: Date, default: moment},
});
正如最近的几个星期前,所有统筹对被保存和被顺利取出。然而,现在,某些坐标对导致Mongo抱怨:
{[MongoError:insertDocument ::引发:: 16755无法从对象中提取地理密钥,格式错误?:{_id:ObjectId( '54affc5054096502ad086a81'),产品:ObjectId('54af3f99c4528c296590426c'),geo_name:“Vancouver,BC,Canada”,text:“”,lastupdated:new日期(1420819536000),dateAdded:new日期(1420819536000),地理位置:[49.2827291, -123.1207375],__v:0}] name:'MongoError', code:16755, err:'insertDocument ::引发:: 16755无法从对象中提取地理密钥,格式错误?:{_id: ObjectId(\'54affc5054096502ad086a81 \'),product:ObjectId(\'54af3f99c4528c296590426c \'),geo_name:“Vancouver,BC,Canada”,text:“”,lastupdated:new日期(1420819536000),dateAdded:new Date(14208195 (棘手的是,几个星期前一些工作对现在正在发生该错误)。
例如,这些对的工作:
[33.7489954,-84.3879824] (其是亚特兰大,GA,USA)
[41.8781136,-87.62979819999998] (这是芝加哥,IL,美国)
而且这些不和导致畸形的几何形状误差:
[49.2827291,-123.12073750000002] (这是温哥华,加拿大)
[37.7749295,-122.41941550000001] (这是旧金山,CA,USA)
任何想法?我试过格式化2dsphere字段有点不同,但仍然遇到同样的问题。
d'oh!你是对的。就是这样。感谢第二套眼睛:) – slova