天天看點

Mongodb的2d查詢

初始化兩條有坐标的資料:

Mongodb的2d查詢

注意:location不能存儲字元串。

為location這個字段添加2d索引:

查詢指定的一個點距離最近的100個點:

查詢結果會按照距離進行排序,預設查詢100條,可以通過limit來限制查詢的條數。

查詢一個點指定半徑内的所有點(效率高于near):

計算球體距離範圍内的點:

矩形查詢:

空間距離查詢:

以上的查詢都隻是圖形查詢,并非正在的gps之間的距離,例如[10,11]和[10,12]之間的距離隻是1,并非經緯度對應的距離差,如果要查詢對應的距離差,需要指定Distance對象的機關:

這種方式的查詢,會傳回真實的距離以及所有滿足條件的平均距離。

within也可以指定查詢的distance對象:

當然是用geoNear這種方法有一個好處,就是可以傳回具體的距離是多少。