I am trying to add new fields to my existing collection. The collection look like this.
{
"_id": {
"$oid": "62df66945e2ecab37dd56a69"
},
"AllApplicableSteps": [
{
"StepName": "Open",
"StepNo": 1,
"StepDesc": "Open Step"
},
{
"StepName": "Pending",
"StepNo": 1,
"StepDesc": "Pending Step"
},
{
"StepName": "Approved",
"StepNo": 3,
"StepDesc": "successful"
},
{
"StepName": "Rejected",
"StepNo": 3,
"StepDesc": "rejected"
}
]
}
My goal is to add another field name like "StepTitle" which value will be the same as " StepName"
{
"_id": {
"$oid": "62df66945e2ecab37dd56a69"
},
"AllApplicableSteps": [
{
"StepName": "Open",
"StepTitle": "Open",
"StepNo": 1,
"StepDesc": "Open Step"
},
{
"StepName": "Pending",
"StepTitle": "Pending",
"StepNo": 1,
"StepDesc": "Pending Step"
},
{
"StepName": "Approved",
"StepTitle": "Approved",
"StepNo": 3,
"StepDesc": "successful"
},
{
"StepName": "Rejected",
"StepTitle": "Rejected",
"StepNo": 3,
"StepDesc": "rejected"
}
]
}
In the aggregation pipeline I am trying with $set
{
"AllApplicableSteps.StepTitle" : "$AllApplicableSteps.StepName"
}
But above pipeline return an array of all stepName. EG. enter image description here