2015-01-09 45 views
0

我对这个有点难住。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字段有点不同,但仍然遇到同样的问题。

回答