I am using $graphlookup with mongoose , it is working fine in mongoplay ground but in nodejs it is not giving tree structure data. Instead it is giving
TreeResult
as empty array
Please find the below details:
below is the my method in nodejs
<pre> folder_tree_structure: async(ctx:any) => {
try {
const treeStructure = await FileFolder.aggregate([
{
$match: {
parentFolder: {
$exists: true
}
}
},
{
$graphLookup: {
from: "FileFolder",
startWith: "$_id",
connectFromField: "parentFolder",
connectToField: "parentFolder",
maxDepth: 1,
depthField: "depth",
as: "TreeResult"
}
}
]);
console.log('tree structure',treeStructure )
ctx.status = 200;
ctx.body = treeStructure;
} catch (err) {
ctx.response.status(500).send(err);
}
}
and my mongoose schema:
const fileFolderSchema = new Schema({
name: String,
parentFolder: {type: Mongoose.Types.ObjectId, ref: "FileFolder"},
path: String,
metadata: {
type: metaDataSchema
}
}, { id: false }).set('toJSON', {
virtuals: true
});
export const FileFolder = Mongoose.model('FileFolder', fileFolderSchema);
What I have tried:
Here you can find what I have tried in mongo playground:
Mongo playground[
^]
and the output when I tried in nodejs
[
{
"_id": "6360468045689c3d0c70e53c",
"name": "Folder1",
"path": "files/Folder1",
"metadata": {
"version": 1,
"created_by": "user-1",
"created_on": "2022-10-31T22:04:48.233Z"
},
"__v": 0,
"parentFolder": "6360468045689c3d0c70e53c",
"TreeResult": []
},
{
"_id": "6360468d45689c3d0c70e558",
"name": "Folder2",
"path": "files/Folder2",
"metadata": {
"version": 1,
"created_by": "user-1",
"created_on": "2022-10-31T22:05:01.787Z"
},
"__v": 0,
"parentFolder": "6360468045689c3d0c70e53c",
"TreeResult": []
},
{
"_id": "6360469445689c3d0c70e55c",
"name": "Folder3",
"path": "files/Folder3",
"metadata": {
"version": 1,
"created_by": "user-1",
"created_on": "2022-10-31T22:05:08.309Z"
},
"__v": 0,
"parentFolder": "6360468d45689c3d0c70e558",
"TreeResult": []
},
{
"_id": "636a732946b670e689afd454",
"name": "images",
"path": "files/images",
"metadata": {
"version": 1,
"created_by": "user-1",
"created_on": "2022-11-08T15:18:01.190Z",
"timeout": -1
},
"__v": 0,
"parentFolder": "6360468045689c3d0c70e53c",
"TreeResult": []
},
{
"_id": "636a735f46b670e689afd46d",
"name": "images",
"path": "files/images",
"metadata": {
"version": 1,
"created_by": "user-1",
"created_on": "2022-11-08T15:18:55.764Z",
"timeout": -1
},
"__v": 0,
"parentFolder": "6360468d45689c3d0c70e558",
"TreeResult": []
}
]