MongoDB 2dsphere 是用来支持球体几何计算查询的索引。2dspheres 索引支持所有MongoDB地理空间查询:inclusion、intersection、 proximity。
在使用MongoDB空间查询的前,collection没有加2dsphere 索引的话,执行查询操作会报异常:
unable to find index for $geoNear query' on server 127.0.0.1:27017
这时候我们就需要创建索引。
创建 2dsphere 索引
# 切换至需要加索引的collection
1. use test
# 测试数据
2. db.test.insert( { loc : { type: "Point", coordinates: [ 120.31, 30.21] }, title: "test"})
# 创建索引
3. db.test.createIndex( { loc : "2dsphere" } )
# 创建成功提示
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
然后就可以愉快的执行query了。 :)