所有的實例和蒙戈地理搜索的實現,我已經能夠找到,使用一個數組屬性[lng, lat]
執行的搜索:如何對兩個屬性進行地理搜索而不是[lng,lat]數組?
的示例記錄是:
{
name: 'foo bar',
locations: [
{
name: 'franks house',
geo: [-0.12, 34.51]
},
{
name: 'jennifers house',
geo: [-0.09, 32.17]
}
]
}
,並將所得的查詢:
db.events.find({ 'locations.geo': { $nearSphere: [ -0.12, 34.51 ], $maxDistance: 0.02 }})
這工作得很好,但記錄的格式也不是很大,爲用戶讀或寫,因爲它不是自我記錄,其中lat
和lng
進入該陣列。有陷阱的餘地。我想讓這些記錄更加人性化:
{
name: 'foo bar',
locations: [
{
name: 'franks house',
lat: 34.51,
lng: -0.12
},
{
name: 'jennifers house',
lat: 32.17,
lng: -0.09
}
]
}
對於這種類型的記錄,生成的mongo查詢會是什麼樣子?我一直無法找到任何這樣的例子,所以我想知道是否有可能。
如果你想用你給蒙戈地理運營商保持[LON,LAT]格式。無論如何,只是一個側面說明,通常'用戶'不應該直接從數據庫中讀取/寫入(MVC?)。 – joao
這是一個REST API,我需要最簡單的方法來返回JSON結果。它不需要完全像數據庫結構,但我必須做的數據格式越少響應時間就越快。 –