目次
MongoDBの地理空間クエリとインデックスの活用方法
この記事では、MongoDBの地理空間クエリ機能とその関連するインデックスの使用例について詳しく解説します。地理空間データを扱う際の基本的なクエリから、より高度な検索に使える2dsphereインデックスまで、具体的なコード例とともに説明していきます。
2dインデックス
2dsphereインデックス
db.collection.createIndex({location: “2d”})
クエリ | 説明 |
---|---|
$near | 指定された地点から近い順にドキュメントを返す |
$maxDistance | 指定された最大距離以内のドキュメントをフィルターする |
db.restaurants.find({
location: {
$near: {
$geometry: { type: "Point", coordinates: [139.7454, 35.6586] },
$maxDistance: 500
}
}
})
クエリ | 説明 |
---|---|
$geoWithin | 指定された領域内のオブジェクトを検索 |
$geometry | 地理空間オブジェクトの形状を指定 |
db.spots.find({
location: {
$geoWithin: {
$geometry: {
type: "Polygon",
coordinates: [
[[139.6981, 35.6895], [139.7000, 35.6895], [139.7000, 35.6910], [139.6981, 35.6910], [139.6981, 35.6895]]
]
}
}
}
})
コメント