Download - MongoDBと位置情報 ~地理空間インデックスの紹介
![Page 1: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/1.jpg)
![Page 2: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/2.jpg)
![Page 3: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/3.jpg)
![Page 4: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/4.jpg)
![Page 5: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/5.jpg)
![Page 6: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/6.jpg)
![Page 7: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/7.jpg)
![Page 8: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/8.jpg)
![Page 9: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/9.jpg)
db.shopinfo.ensureIndex({
loc : "2d"
});
db.shopinfo.ensureIndex({
loc : "2d",
category: 1
});
![Page 10: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/10.jpg)
var lon = 139;
var lat = 35;
db.shopinfo.save({
name: '喫茶もんご',
category: ['喫茶店'],
loc: [lon, lat]
});
![Page 11: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/11.jpg)
db.shopinfo.find({
loc: [139, 35]
});
![Page 12: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/12.jpg)
db.shopinfo.find({
loc : {
$near : [139.4, 35.4]
}
});
![Page 13: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/13.jpg)
db.shopinfo.find({
loc : {
$near : [139.4, 35.4],
$maxDistance : 2
}
});
![Page 14: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/14.jpg)
db.shopinfo.find({
loc : {
$near : [139.4, 35.4],
$maxDistance : 2
},
category: '喫茶店'
});
![Page 15: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/15.jpg)
db.runCommand({
geoNear: "shopinfo",
near: [139.4, 35.4],
maxDistance: 2,
query: {category: '喫茶店'}
});
![Page 16: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/16.jpg)
{
"ns" : "test.shopinfo",
"near" : "1110100101001011000011000101000010111011111111011110",
"results" : [{
"dis" : 0.5656861498877501,
"obj" : {
"_id" : ObjectId("4d01f5616919cb54afce6a77"),
"name" : "喫茶もんご",
"category" : ["喫茶店"],
"loc" : [139, 35]
}
}],
"stats" : {
"time" : 0,
"btreelocs" : 0,
"nscanned" : 1,
"objectsLoaded" : 1,
"avgDistance" : 0.5656861498877501,
"maxDistance" : 0.5656861498877501
},
"ok" : 1
}
![Page 17: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/17.jpg)
![Page 18: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/18.jpg)
db.shopinfo.find({
loc : {
$within : {
$box : [[130, 30], [140, 35]]
}
}
});
db.shopinfo.find({
loc : {
$within : {
$center : [[135, 35], 4]
}
}
});
![Page 19: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/19.jpg)
![Page 20: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/20.jpg)
![Page 21: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/21.jpg)
![Page 22: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/22.jpg)
![Page 23: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/23.jpg)
![Page 24: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/24.jpg)
![Page 25: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/25.jpg)
db.shopinfo.find({
loc : {
$nearSphere : [139.4, 35.4]
}
});
db.shopinfo.find({
loc : {
$within : {
$centerSphere : [[135, 35], 0.1]
}
}
});
![Page 26: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/26.jpg)
1 = 6371 km
![Page 27: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/27.jpg)
db.runCommand({
geoNear: "shopinfo",
near: [135, 35],
query: {category: '喫茶店'},
spherical: true
});
"results" : [{
"dis" : 0.05718377899700883,
"obj" : {
"loc" : [139, 35]
}
}],
![Page 28: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/28.jpg)
![Page 29: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/29.jpg)
![Page 30: MongoDBと位置情報 ~地理空間インデックスの紹介](https://reader036.vdocuments.net/reader036/viewer/2022062405/556607eed8b42a06318b45e9/html5/thumbnails/30.jpg)