在MongoDB中创建地理空间索引时出错

时间:2012-12-20 14:15:59

标签: mongodb geospatial

我有一个集合('stops'),其中包含从CSV导入的14000条记录。每条记录中都包含一些地理空间数据,我将其转换为数组,因此每个数据基本上都是这样的:

{
  _id: ...,
  // other fields
  "loc": [
    153.019073,
    -27.467834
  ]
}

当我运行db.stops.ensureIndex({ loc: '2d' })时,它会出错:

  

预期的位置对象,位置数组格式不正确

我猜其中一个领域出了问题,但我无法弄清楚哪个领域。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题是有一条记录未正确导入(可能是文件末尾的空行)。

为了找到它(后来将其删除),我使用了$where运算符:

db.stops.find({ $where: 'typeof this.loc[0] != "number"' })