簡體   English   中英

MongoDb:用於多個輸入坐標的 $geoIntersects

[英]MongoDb: $geoIntersects for multiple input coordinates

我有每個我需要執行$geoIntersects查詢的坐標列表。 對於一個坐標,查詢如下所示:

db.polygons.find({ 
    geometry: { 
        $geoIntersects: {
            $geometry: {
                type: "Point", coordinates: [24.053640, 49.812427]
            } 
        } 
    } 
})

問題是有一個輸入坐標列表,我需要為每個坐標找到一個多邊形。 到目前為止,我發現的唯一方法是在應用程序代碼中迭代它們並執行查詢 N 次。

是否可以通過一個 MongoDB 查詢來實現? 如果沒有,任何關於如何優化的想法都值得贊賞。

一種可能的解決方案是用多點幾何類型替換點幾何類型,並將輸入坐標列表作為數組傳遞。

db.polygons.find({ 
geometry: { 
    $geoIntersects: {
        $geometry: {
            type: "MultiPoint", coordinates: [[24.053640, 49.812427],[...]...] 
        } 
    } 
} 
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM