Record Collection CHallenge Doubt

I have a doubt doing this challenge. When I use .push() in the variable prop instead .tracks I can’t update the collection but if I use the varible in the second case the program is OK. Why does this happen?

switch(prop){
      case "tracks":
        console.log(prop);
        collectionCopy[id].prop.push(value);
        console.log(collectionCopy[id].prop);
        return "Agregado";
      break;
      case "artist":
        collectionCopy[id].prop = value;
        console.log(collectionCopy[id].prop);
        return collectionCopy[id].prop;
      break;
    }

prop is the variable used in the function an it’s referenced to a key called “tracks”. I have a if condiftion to solve if “tracks” not exists

var collection = {
    "2548": {
      "album": "Slippery When Wet",
      "artist": "Bon Jovi",
      "tracks": [ 
        "Let It Rock", 
        "You Give Love a Bad Name" 
      ]
}

function updateRecords(id, prop, value) {
  //My solution
}

updateRecords(5439, "tracks", "red");

I learned how to detect if a property exists, my doubt is why I can’t use

collection[id].prop.push(value)

but

collection[id].tracks.push(value)

works if the

console.log(prop);

tells me that prop = tracks?

Maybe prop is taking “tracks” like a string not like array?

But I used prop in the second case with dot notation an it works.

Secon case of switch

I think that is the problem

I used that to test if the condition works is like “Inserted” in spanish

Thanks for helping me. I think a need to do more challenges with objects to understand the subject.