将矩阵存储为MongoDB中的集合

时间:2015-02-05 22:45:06

标签: mongodb matrix distance point asymmetric

我有一堆点{A,B,C,....,X},我想将它们的距离存储在一个矩阵中。一个额外的复杂因素是从A到B的距离与从B到A的距离不一样,它们是不对称的。

我的目标是将此矩阵存储在MongoDB的集合中,但我真的不知道如何,这可能吗?任何建议/指导非常感谢。

2 个答案:

答案 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
}

其中XY是适合的任何类型的值。在{ "from" : 1, "to" : 1 }上放置一个索引,然后定义

function d(X, Y) {
    return db.distances.findOne({ "from" : X, "to" : Y }).distance
}