簡體   English   中英

mongo near 將 maxDistance 設置為集合中的值

[英]mongo near set maxDistance as value in collection

我很抱歉標題。 我很難描述。 我有這個收藏

  {
      "_id" : ObjectId("55cb9c666c522cafdb053a68"),
      location: {
     type: "Point",
     coordinates: [-73.856077, 40.848447]
  },
      "maxDistancevalue" : 100000
  }

現在我想找到當前位置的范圍:100000 定義為“maxDistancevalue”的集合

代碼將是這樣的。 但是如何設置 maxDistance 值呢?

  db.places.find(
     {
       location:
         { $near :
            {
              $geometry: { type: "Point",  coordinates: [ -73.9667, 40.78 ] },
              $minDistance: **??????, -->maxDistancevalue** 
              $maxDistance: 0
            }
         }
     }
  ) 

您可以使用聚合框架的$geoNear管道階段來引用其他現有字段。 它需要在你的集合上創建 2dsphere 索引,所以從:

db.places.createIndex({location:"2dsphere"});

然后你可以運行你的aggregate()查詢:

db.places.aggregate([
    {
        $geoNear: {
            near: { type: "Point", coordinates: [ -73.9667, 40.78 ] },
            distanceField: "dist.calculated",
            maxDistance: "$maxDistancevalue"
        }
    }
])

暫無
暫無

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

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