docker 安装mongodb
1、docker pull mongo:latest
2、docker run -p 27017:27017 --name mongodb -d mongo
3、docker exec -it 容器ID /bin/bash
4、 mongosh 进入命令行
增加权限
user admin
db.createRole({role:'sysadmin',roles:[],
privileges:[
{resource:{anyResource:true}, actions:['anyAction']}
]
});
mongodb地理位置信息实例
db.shop.insert({
"pos" : [ 103.987278,30.63024], //经纬度
"BJ" : 10.0, //半径
"name": "华府国际"
});
db.shop.insert({
"pos" : [ 103.990009,30.640805 ], //经纬度
"BJ" : 20.0, //半径
"name": "联邦财富中心"
});
db.shop.insert({
"pos" : [ 104.005388,30.635709 ], //经纬度
"BJ" : 30.0, //半径
"name": "武侯立交"
}) ;
1、建立索引
db.shop.createIndex({pos : "2dsphere"})
1、查询距离 距离这个坐标 的距离:104.005101,30.626138 武侯万达刚才
db.shop.aggregate({
$geoNear:{
near:[104.005101,30.626138],
spherical:true,
distanceMultiplier: 6378137,
distanceField:"distance"
}
})
2、返回1公里的店铺
//shop是collection的名字,pos是添加了2dsphere的字段,其他固定写法
//查询最远12500米半径,最近200米半径圆形范围内的所有数据
db.shop.find({
pos:{
$nearSphere:{
type: "point",
coordinates: [104.005101,30.626138]
},
$maxDistance: 1100,
$minDistance:200
}
})
1、docker pull mongo:latest
2、docker run -p 27017:27017 --name mongodb -d mongo
3、docker exec -it 容器ID /bin/bash
4、 mongosh 进入命令行
增加权限
user admin
db.createRole({role:'sysadmin',roles:[],
privileges:[
{resource:{anyResource:true}, actions:['anyAction']}
]
});
mongodb地理位置信息实例
db.shop.insert({
"pos" : [ 103.987278,30.63024], //经纬度
"BJ" : 10.0, //半径
"name": "华府国际"
});
db.shop.insert({
"pos" : [ 103.990009,30.640805 ], //经纬度
"BJ" : 20.0, //半径
"name": "联邦财富中心"
});
db.shop.insert({
"pos" : [ 104.005388,30.635709 ], //经纬度
"BJ" : 30.0, //半径
"name": "武侯立交"
}) ;
1、建立索引
db.shop.createIndex({pos : "2dsphere"})
1、查询距离 距离这个坐标 的距离:104.005101,30.626138 武侯万达刚才
db.shop.aggregate({
$geoNear:{
near:[104.005101,30.626138],
spherical:true,
distanceMultiplier: 6378137,
distanceField:"distance"
}
})
2、返回1公里的店铺
//shop是collection的名字,pos是添加了2dsphere的字段,其他固定写法
//查询最远12500米半径,最近200米半径圆形范围内的所有数据
db.shop.find({
pos:{
$nearSphere:{
type: "point",
coordinates: [104.005101,30.626138]
},
$maxDistance: 1100,
$minDistance:200
}
})
浙公网安备 33010602011771号