0

I am new to mongo and am having a problem updating a value in an object in an nested nested array.

Here is the data

{
    "_id" : ObjectId("5aa3f0ca6160aa0ca4b560fc"),
    "Name" : "User1",
    "Age" : 35,
    "address" : [
            {
                    "Street" : "6 Knowles House Ave",
                    "Town" : "St Helens",
                    "Postcode" : "WA10 5AX",
                    "Current" : true,
                    "deliveryAdd" : [
                            {
                                    "Street" : "21 Town Row",
                                    "Town" : "St Helens",
                                    "Postcode" : "WA10 1AE"
                            }
                    ]
            },
            {
                    "Current" : false,
                    "Street" : "7 Long Meadow",
                    "Town" : "St Helens",
                    "Postcode" : "WA10 4LS"
            },
            {
                    "Street" : "21 The Ave",
                    "Town" : "St Helens",
                    "Postcode" : "WA10 5AE",
                    "Current" : false
            }
    ],
    "Phone" : "07097549621"

}

I want to change the town in the delivery address. The code I have tried but doesn't work is.

db.TestCollection.update(
{
    "Name" : "User1", 
    "address.Current" : true, 
    "address.secondAdd.Town": "St Helens" },
{ 
    $set: {"address.secondAdd.$.Town" : "Liverpool"}
})

Can someone please help?

0 Answers0