Som de flesta svar antydde måste du använda pricknotation för att uppdatera inbäddade dokument och för att svara på din fråga ovan, använd följande hjälpmetod som tillämpar rekursion för att konvertera ett givet objekt till dess punktnotationsrepresentation:
function convertToDotNotation(obj, newObj={}, prefix="") {
for(let key in obj) {
if (typeof obj[key] === "object") {
convertToDotNotation(obj[key], newObj, prefix + key + ".");
} else {
newObj[prefix + key] = obj[key];
}
}
return newObj;
}
let params = {
address: {
city: {
location: {
street: "new street"
}
}
}
};
const dotNotated = convertToDotNotation(params);
console.log(JSON.stringify(dotNotated, null, 4));