MongoDB graphlook不';不包括根元素
我有以下几类收藏:MongoDB graphlook不';不包括根元素,mongodb,mongoose,graph,Mongodb,Mongoose,Graph,我有以下几类收藏: [ { _id: '5f63cec98f122903783a10b1', content: null, root: true, siblings: [ { _id: { $oid: '5f63cec98f122903783a10b2', }, selection: null, }, ],
[
{
_id: '5f63cec98f122903783a10b1',
content: null,
root: true,
siblings: [
{
_id: {
$oid: '5f63cec98f122903783a10b2',
},
selection: null,
},
],
},
];
我想获得以下格式的节点列表:[node1,node2,node3]
以及链接列表[{siblingA:…,siblingB:…}]
首先,我只需要根节点及其同级节点(如果通过maxDepth
参数请求,还需要其同级节点的同级节点)
以下是我得到的最接近的结果:
aggregate([
{ $match: { root: true } },
{
$graphLookup: {
from: 'nodes',
startWith: '$siblings._id',
connectFromField: 'siblings._id',
connectToField: '_id',
as: 'notes',
maxDepth: 0,
},
},
{ $unwind: { path: '$nodes' } },
{ $replaceRoot: { newRoot: '$nodes' } },
]
此解决方案有两个问题:
[{siblingA:…,siblingB:…}]
(但我可以稍后手动构建它)