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