node.jsamazon-dynamodbdynamoose

Querying OR condition in Dynamoose


I need dynamoose query equivalent to this SQL query select * from employees where first_name like '%fish%' or last_name like '%fish%'.

I tried below code but doesn't work.

 const employees = EmsModel.query('pk')
    .eq('emp_prof')
    .and()
    .where('first_name')
    .contains(params.name)
    .or()
    .where('last_name')
    .contains(params.name)
    .exec();

can anyone guide me.


Solution

  • this works for me!

    const employees = EmsModel.query('pk')
        .eq('emp_prof')
        .and()
        .parenthesis(new dynamoose.Condition().where('first_name').contains(param).or().where('last_name').contains(param))
        .exec();