I've a use case where i need to find the role and permissions data from the MongoDB based on parent
value.
Here is the sample data.
{
"_id" : ObjectId("5e8c0dea360c754568906611"),
"locations" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : false,
"parent" : "settings"
},
"assets" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "assets"
},
"tickets" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "tickets"
},
"settings" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "settings"
},
"user_management" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "user_management"
},
"reports" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "reports"
},
"dashboard" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "dashboard"
},
"ticketPriorities" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : false,
"parent" : "settings"
},
"ticketStatus" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : false,
"parent" : "settings"
},
"users" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : false,
"parent" : "user_management"
},
"permissions" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : false,
"parent" : "user_management"
},
"companySettings" : {
"canCreate" : true,
"canView" : true,
"canUpdate" : true,
"canDelete" : true,
"isMenu" : true,
"parent" : "companySettings"
},
"customFields" : {
"canCreate" : false,
"canView" : false,
"canUpdate" : false,
"canDelete" : false,
"isMenu" : false,
"parent" : "settings"
},
"roleName" : "SUPERUSER",
}
Now I want to get the fields (permissions) whose parent
is, settings
and isMenu
is false
.
Here is my query I've been using so far.
menuName = "settings";
UserRoles.find({"_id":roleId},{menuName:1});
But am unable to get the data with my query and am little bit confused on how to retrieve that. Please consider my query and suggest me on how to achieve the solution.