Collection:
{
"answerVersionsArray": [
{
"answerId": 2,
"answerMeaningId": "2.01",
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:49.8898031Z",
"isDeleted": false,
"questionId": 2,
"tagId": 1,
"tagName": "dev-tag-1",
},
{
"answerId": 2,
"answerMeaningId": "2.01",
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:49.9346289Z",
"isDeleted": false,
"questionId": 2,
"tagId": 2,
"tagName": "dev-tag-2"
},
{
"answerId": 2,
"answerMeaningId": "2.01",
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:49.9842107Z",
"isDeleted": false,
"questionId": 2,
"tagId": 3,
"tagName": "dev-tag-3"
},
{
"answerId": 3,
"answerMeaningId": "3.01",
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:49.9346289Z",
"isDeleted": false,
"questionId": 3,
"tagId": 2,
"tagName": "dev-tag-2"
}
],
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:18.2214465Z",
"id": "229b7622-a5b9-4773-ae6e-ec392ede7509",
"isActive": true,
"type": "answersCollection"
}
I want to remove only one entry from the array based on answerId, answerMeaningId, questionId and tagId
{
"answerId": 2,
"answerMeaningId": "2.01",
"createdBy": "Ramadoss E",
"createdOn": "2021-09-12T05:27:49.8898031Z",
"isDeleted": false,
"questionId": 2,
"tagId": 1,
"tagName": "dev-tag-1",
}
My query:
UPDATE formsmanager AS fm SET fm.answerVersionsArray = ARRAY v FOR v IN fm.answerVersionsArray WHEN v.questionId = 2 AND v.answerId != 2 AND v.answerMeaningId != '2.01' AND v.tagId != 1 END, fm.modifiedOn = CLOCK_UTC(), fm.modifiedBy = 'RamadossE' WHERE fm.type = 'answersCollection'"
Problem:
The above N1QL query removing all the records in the array.
Could you please any one help me this?