赞
踩
示例需求:MongoDB实现“查询附近商家"
准备数据集,执行脚本
db.restaurant.insert({
restaurantId: 0,
restaurantName:"兰州牛肉面",
location : {
type: "Point",
coordinates: [ -73.97, 40.77 ]
}
})
查看初始化的数据
> db.restaurant.find()
创建一个2dsphere索引
> db.restaurant.createIndex({location : "2dsphere"})
查看创建的2dsphere索引
> db.restaurant.getIndexes()
查询附近10000米商家信息
db.restaurant.find( {
location:{
$near :{
$geometry :{
type : "Point" ,
coordinates : [ -73.88, 40.78 ]
} ,
$maxDistance:10000
}
}
} )
语法解释
操作符 | 解释 |
---|---|
$near | 查询操作符,用于实现附近商家的检索,返回数据结果会按距离排序。 |
$geometry | 用于指定一个GeoJSON格式的地理空间对象 |
type=Point | 表示地理坐标点 |
coordinates | 表示用户当前所在的经纬度位置 |
$maxDistance | 限定了最大距离,单位是米 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。