if I understood your question correctly (in regards what is in the payload and what is in the input array) I was able to write this mapping, to be able to find matches between those two data sets:
%dw 2.0
output application/json
var myPayload = {
"aAuDQ0000004mX60AI": [
{
"noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
"contentVersion": "068DQ000000lK0iYAE",
"documentName": "ESRA with Exhibit_A"
},
{
"noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
"contentVersion": "068DQ000000lK0OYAU",
"documentName": "ODP Agreement"
}
],
"aAuDQ0000004mXG0AY": [
{
"noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
"contentVersion": "068DQ000000lK0JYAU",
"documentName": "ESRA For bb bb"
},
{
"noOfDocumentItemToSigner": ["eSign_documentItemName1__c", "eSign_documentItemName2__c"],
"contentVersion": "068DQ000000lK0OYAU",
"documentName": "ODP Agreement"
}
]
}
var myInputArray = [
{
"noOfDocumentItemToSigner": [
"eSign_documentItemName1__c",
"eSign_documentItemName2__c"
],
"contentVersion": "068DQ000000lK0iYAE",
"documentName": "ESRA with Exhibit_A"
},
{
"noOfDocumentItemToSigner": [
"eSign_documentItemName1__c"
],
"contentVersion": "068DQ000000lK0OYAU",
"documentName": "ODP Agreement"
}
]
---
myPayload mapObject ((value, key, index) -> {
(key): (value) map ((item, index) -> {
noOfDocumentItemToSigner: item.noOfDocumentItemToSigner,
contentVersion: item.contentVersion,
documentName: item.documentName
}) filter $.contentVersion == (myInputArray map ((item2, index2) -> item2.contentVersion))[index]
})