MongoDB geoNear多坐标
我想根据结果与二维空间中多个点的接近程度对结果进行排序 我假设这可以通过对第一点进行查询,然后对第二点重新查询/检查这些结果来实现 也许下面的代码解释了我想更好地实现什么MongoDB geoNear多坐标,mongodb,geolocation,mongoid,nosql,Mongodb,Geolocation,Mongoid,Nosql,我想根据结果与二维空间中多个点的接近程度对结果进行排序 我假设这可以通过对第一点进行查询,然后对第二点重新查询/检查这些结果来实现 也许下面的代码解释了我想更好地实现什么 db.runCommand({ geoNear:"places", near:[ [52.5243, 13.4063], [48.1448, 11.5580] ] }) 解决方案:如果有人感兴趣,我就是这样做到的(感谢下面的答案) 您希望上面的查询返回什么?靠近一个或另一个位置的地方?在这种情况下,您应该运行两个查询
db.runCommand({
geoNear:"places",
near:[ [52.5243, 13.4063], [48.1448, 11.5580] ]
})
解决方案:如果有人感兴趣,我就是这样做到的(感谢下面的答案)
您希望上面的查询返回什么?靠近一个或另一个位置的地方?在这种情况下,您应该运行两个查询,然后将结果合并到应用程序代码中。MongoDB在其关于Geospacial索引的文档中有一整节 我想你要找的是一个边界框查询。这直接来自他们的代码示例
box = [[40.73083, -73.99756], [40.741404, -73.988135]]
db.places.find({"loc" : {"$within" : {"$box" : box}}})
box = [[40.73083, -73.99756], [40.741404, -73.988135]]
db.places.find({"loc" : {"$within" : {"$box" : box}}})