我有一堆点{A,B,C,....,X},我想将它们的距离存储在一个矩阵中。一个额外的复杂因素是从A到B的距离与从B到A的距离不一样,它们是不对称的。
我的目标是将此矩阵存储在MongoDB的集合中,但我真的不知道如何,这可能吗?任何建议/指导非常感谢。
答案 0 :(得分:0)
MongoDB支持存储地理空间对象,提供创建索引和执行查询这些对象的特定方法。
看看:
http://docs.mongodb.org/manual/applications/geospatial-indexes/
看看你是否正在寻找。
答案 1 :(得分:0)
出于好奇,您使用的“距离”是什么衡量标准?从技术上讲,除非始终d(X, Y)
,否则您无法调用d(X, Y) = d(Y, X)
"distance"函数。球体上各点之间的距离是对称的,因此您无法使用该指标。如果您只想存储和检索值d(X, Y)
,只需存储
{
"from" : X,
"to" : Y,
"distance" : 691
}
其中X
和Y
是适合的任何类型的值。在{ "from" : 1, "to" : 1 }
上放置一个索引,然后定义
function d(X, Y) {
return db.distances.findOne({ "from" : X, "to" : Y }).distance
}