Jak wynika z większości odpowiedzi, musisz użyć notacja kropkowa aby zaktualizować osadzone dokumenty i odpowiedzieć na powyższe pytanie, użyj następującej metody pomocniczej, która stosuje rekursję do konwersji danego obiektu na jego reprezentację w notacji kropkowej:
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));