Я забираю монго, изучаю также схемы такого типа (неориентированные графики, запрашивая информацию у соседей). Я думаю, что способ, которым я отдаю предпочтение, пока выглядит примерно так:
Каждый узелсодержит массив ключей соседей, например:
{
nodeIndex: 4
myData: "data"
neighbors: [8,15,16,23,42]
}
Чтобы найти данные от соседей, используйте $ в «операторе» :
db.nodes.find({nodeIndex:{$in: [8,15,16,23,42]}});
. Вы можетеиспользуйте выбор поля , чтобы ограничить результаты соответствующими данными.
db.nodes.find({nodeIndex:{$in: [8,15,16,23,42]}}, {myData:1});