【发布时间】:2011-02-02 18:27:20
【问题描述】:
为什么我在运行db:create_indexes 时会收到错误13027: point not in range?
模型中的索引声明为index [[ :location, Mongo::GEO2D ]], :min => 200, :max => 200
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 mongodb
为什么我在运行db:create_indexes 时会收到错误13027: point not in range?
模型中的索引声明为index [[ :location, Mongo::GEO2D ]], :min => 200, :max => 200
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 mongodb
这基本上意味着您的集合中的一个点超出了您指定的最小值/最大值。例如:
repl0:PRIMARY> db.points.insert({loc: {lat: 125, lon: 236}})
repl0:PRIMARY> db.points.ensureIndex({loc: '2d'}, {min: 126, max: 237})
点不在范围内
repl0:PRIMARY> db.points.ensureIndex({loc: '2d'}, {min: 125, max: 237})
在 > 0
repl0:PRIMARY> db.points.ensureIndex({loc: '2d'}, {min: 124, max: 237})
在您的示例中,您还将 min 和 max 设置为相同的值。
【讨论】: