将矩阵存储为 MongoDB 中的集合

storing a matrix as a collection in MongoDB

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

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

MongoDB 支持存储地理空间对象,提供创建索引和执行查询这些对象的特定方式。

看看:

http://docs.mongodb.org/manual/applications/geospatial-indexes/

看看这是否是您要找的。

出于好奇,您使用的 "distance" 是什么量度?从技术上讲,您不能将函数 d(X, Y) 称为 "distance",除非总是 d(X, Y) = d(Y, X)。球体上各点之间的距离是对称的,因此您不能使用该度量标准。如果您只想存储和检索值 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
}