Is it possible to use primary key along with secondary key in Aerospike for fetching a record?

Is it possible to use primary key along with secondary key. I want to get all records on the basis of primary key and then apply secondary index over it? Is it the correct way to do it or some other approach should be used?

I have a bin with primary key. Once i fetch the record using primary key, i want to get only the subset of the record. Below is the record example. Also is there a better way to organise the record? Like keeping manager, supervisor and otherStaff as the key and then querying.

 {
    "name" : "test",
    "companyName" : "company1",
    "details" : [{
           "salary" : 1000,
           "designation" : "manager"
         },
         {
           "salary" : 2000,
           "designation" : "supervisor"
         },
         {
           "staff" : 500,
           "designation" : "otherStaff"
         }]
} 

@pgupta Can you help here

Use a Secondary Index query on the bin containing the primary search data and then use Predicate Filters to further select the records returned.

@pgupta Is multiple predicate querying now possible?
I am trying to do that but could not find any resources to get it working using Nodejs client.

I got this working using following snippet:

let originFilter = Aerospike.filter.contains('origin', 'india', Aerospike.indexType.none);
  query.where(originFilter);

  let tagsPredexp = [
    predexp.stringValue('holland'),
    predexp.stringBin('destination'),
    predexp.stringEqual(),
  ]
  query.where(tagsPredexp)

You definitely should be able to use multiple expressions to filter. Here is the Expressions doc.

@meher Thanks for the link. But I am not able to find example snippets for Expressions.

There are example for C and Java at this point. You can scroll down that page and pick one category, for example, here is the page for Comparisons.