How to access Mongoose nested document populate fields using typescript

Viewed 52

how can I access the fields like create, update to check whether it is enabled or not using mongoose and typescript?

_id: "62138fc713ea5c49fd61d3f0"
    employeeId: "IN0201"
    email: "user2@dddd.com"
    password: "$2b$10$eEM222UB2/7ugbw1krAiNON3zDGUnYTifLsrZ2FNXoq/NhzWANNdS"
    mentor: "62138151cd614d1d1c7eaa2b"
    role: [
      {
        "_id": "621322240e7e69371aabf4e6",
        "roleName": "user",
        "permissions": {
          "modules": [
            {
              "user": {
                "create": {
                  "name": "create",
                  "enable": false
                },
                "update": {
                  "name": "update",
                  "enable": true
                },
                "view": {
                  "name": "view",
                  "enable": true
                },
                "delete": {
                  "name": "delete",
                  "enable": false
                }
              },
              "events": {
                "create": {
                  "name": "create",
                  "enable": false
                },
                "update": {
                  "name": "update",
                  "enable": false
                },
                "view": {
                  "name": "view",
                  "enable": true
                },
                "delete": {
                  "name": "delte",
                  "enable": false
                }
              },
              "_id": "62137c1728df74de4255ca71"
            }
          ],
          "_id": "62137c1728df74de4255ca70"
        }
      }
    ]
    status: "active"
    deleted: false
    createdAt: "2022-02-21T13:12:39.414Z"
    updatedAt: "2022-02-21T13:12:39.414Z"
1 Answers

I don't know the exact name of your entity in the database, but let's assume it's Employer, you should be able to query using:

Employer.find( {"role.modules": { user: { create: true } } }, function(err, employer){
    if(err){console.log(err);}
    else{console.log(employer);}
  });
Related