存储和查询NxN矩阵

时间:2018-11-13 13:05:37

标签: mongodb

我正在寻找一种存储和查询N x N矩阵的方法。 数据不会频繁更改。 搜索必须快速。

我必须能够查询任何城市到其他城市的距离(以及存储为航班,公共汽车,火车等的任何其他数据)。

示例: 从纽约州到波士顿:距离:215英里,数据:没有火车。

从波士顿到纽约:空。

从华盛顿特区到纽约:距离:225英里,数据:-

为了表示数据,我做了一个矩阵

enter image description here

我正在使用mongoDB作为数据库。

第一个选项: 我正在考虑将矩阵的任何行表示为文档。

{ 
city: "NY",
destinations: [ 
    {city:"Boston", distance: "215 mi", data: "no trains"}, 
    {city:"Washington DC", distance: "226 mi", data: ""}
    ]
}

缺点:有些文档在4000个目标城市附近有一个数组。

优点:集合中只有4000个文档。

第二个选项

创建具有任何城市联系的文档:

示例:

{
    from: "NY",
    to: "Boston",
    distance: "215 mi",
    data: "no trains"
}

优点:我认为有了索引,搜索可能会更快。

缺点:从4000 x 4000组合中,该集合可能包含将近12.000.000的文档。

感谢您的帮助。

0 个答案:

没有答案