Filtering by dependent fields

After some digging, I realized that I needed a deep filter implementation.
I can have any number of “Charact” components. And I need to filter products by the values of one of them
For example:

strapi.db.query("api::product.product").findMany({
  where: {
    characteristic_list: {
      Charact: {
          num_value: {
            $eq: 15
          },
          where: {
            characteristic: {
              name: {
                $eq: 'height'
             }
            }
          }
      }
    }
 }
})

But it doesn’t work.
I guess nested filters don’t work