【发布时间】:2018-06-12 17:34:51
【问题描述】:
当我在 MongoDB 上触发此查询时,我会在 maxDistanceInKm 内获取指定坐标 { "coordinates", new BsonArray { longitude, latitude } } 附近的所有位置。
BsonDocument geoNearStep = new BsonDocument {
{ "$geoNear", new BsonDocument {
{ "near", new BsonDocument {
{ "type", "Point" },
{ "coordinates", new BsonArray { longitude, latitude } }
}},
{ "spherical", true },
{ "query", andQuery},
{ "limit", 200 },
{ "maxDistance", maxDistanceInKm * 1000 },
{ "distanceField", "Location.distance" }
}}
};
现在我想使用结果位置并计算每个位置与我拥有的另一个坐标的距离为{ "NewCoordinates", new BsonArray { NewLongitude, NewLatitude } }。
我不知道如何查询 MongoDb 以使其从新坐标计算查询中找到的位置的各个距离。请指教。
【问题讨论】:
-
所以让我正确理解这一点。您想找到距某个点一定距离内的位置,然后计算这些点到另一个位置的距离吗?我认为您目前无法在 MongoDB 中完成所有这些操作。为什么不在应用程序中进行第二次比较?不过,请确保您使用的是正确的测地线计算。
-
嗨凯文,是的,这个要求是正确的(奇怪,我知道)但显然我需要计算与不同位置的距离。
标签: mongodb