在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: [...]} ] 

所以:

  1. 我将使用什么查询/查询来获取字符列表,每个字符都有一个_id对应于任何给定字符的with字段中的_id s?

  2. 如果我想要获得距离给定节点n步的所有字符,我将如何查询数据库?

Interesting Posts