在MongoDB中广度优先search六度分离
我有一个video游戏为主题的六度分离应用程序,我想知道使用node.js和MongoDB实现广度优先search的最佳方法。
我的应用程序使用MongoDB的https://github.com/mongodb/node-mongodb-native 。
对于我正在使用的集合,我的文档如下所示:
{ _id: "Mega Man", with: [ { _id: "Wolverine", in: "Marvel vs. Capcom"}, { _id: "Snake Man", in: "Mega Man's Soccer"} ] }
如果我想要与“超人”相关的angular色,我需要一个查询来产生
[ { _id: "Wolverine", with: [...]}, { _id: "Snake Man", with: [...]} ]
所以:
-
我将使用什么查询/查询来获取字符列表,每个字符都有一个
_id
对应于任何给定字符的with
字段中的_id
s? -
如果我想要获得距离给定节点
n
步的所有字符,我将如何查询数据库?