03-14-2022 05:08 AM
Greetings!
Is there a way we can use the mapper to remove “upperlimit” key value from the document, whenever “ApprovalType”==“Greater than equal to” and ignore it if “ApprovalType”==“Between”??
Appreciate your help!!
Thanks,
F.
Solved! Go to Solution.
03-14-2022 06:42 AM
Yes, it is possible to map the upperlimit to the lowerlimit, you can try with the following expression:
jsonPath($, "Project[*]").map(val => val.ApporvalType.toLowerCase() == "greater than equal to" ? val.extend({lowerlimit: val.upperlimit}).filter((v, k) => k != "upperlimit") : val)
Here I’m using the extend()
method, with this you can add a specific field to the object or overwrite an existing one with a new value. In this case the upperlimit
value will be assigned to the lowerlimit
field, resulting in overwrite of that same field.
03-14-2022 05:28 AM
Hi @fajosa,
Yes, you can remove that field, we will need to iterate over the Project
field since it is an array, try with the following expression:
jsonPath($, "Project[*]").map(val => val.ApporvalType.toLowerCase() == "greater than equal to" ? val.filter((v, k) => k != "upperlimit") : val)
This will remove the upperlimit
field if ApprovalType is “Greater than equal to” otherwise it will ignore it.
03-14-2022 06:20 AM
That worked!! Thank you @j.angelevski
Also, is it possible we can map the upperlimit to the lowerlimit?
so that whenever, ApprovalType ==“Greater than equal to”, $lowerlimit should have the value of $upperlimit which works along with the filter out of upperlimit.
Appreciate your help @j.angelevski 😀
Thanks,
F.
03-14-2022 06:42 AM
Yes, it is possible to map the upperlimit to the lowerlimit, you can try with the following expression:
jsonPath($, "Project[*]").map(val => val.ApporvalType.toLowerCase() == "greater than equal to" ? val.extend({lowerlimit: val.upperlimit}).filter((v, k) => k != "upperlimit") : val)
Here I’m using the extend()
method, with this you can add a specific field to the object or overwrite an existing one with a new value. In this case the upperlimit
value will be assigned to the lowerlimit
field, resulting in overwrite of that same field.
03-14-2022 06:45 AM
That worked perfectly! Thank you so much! 😀 @j.angelevski