MongoDB地理空间索引与扩展技术全解析
1. 地理空间索引基础
在处理地理定位相关的数据时,我们可以为地址模型添加地理定位功能。以下是一个示例代码,展示了如何在模型中定义地理定位相关的字段和索引:
include Mongoid::Spacial::Document
field :street, type: String
# ...
field :coordinates, type: Array
spacial_index :coordinates
当我们已经在数据库中创建了索引后,就无需再运行 rake db:mongoid:create_indexes 命令。接下来,我们可以尝试进行地理定位查询。例如,对于坐标 [10.123123, -87.1231231] ,可以执行以下查询命令:
irb> Address.geo_near([10.923124, -87.8231232], max_distance: 1)
=> []
irb > Address.geo_near([10.923124, -87.8231232], max_distance: 2)
=> #<Address _id: 4f55abf8fed0eb2f6c00002e, _type: "Address", street:
"101 Union Street", zip: nil, city: "Pasedena", state: "CA", country:
超级会员免费看
订阅专栏 解锁全文
2143

被折叠的 条评论
为什么被折叠?



