При выполнении операции вставки я пытаюсь добавить следующий самый большой идентификатор в файл JSON. Дело в том, что когда у меня есть id id: 13, он создает новый объект с id: 14 и перезаписывает старый объект с id: 14, после этого у меня есть 2 объекта с одним и тем же идентификатором.Найти самый большой идентификатор и добавить новый самый большой идентификатор в файле JSON (NodeJS)
Что я сделал не так?
fs.readFile("DB.json", "utf8", function (err, data) {
var jsonFileArr = []; // DB.json objects
jsonFileArr = JSON.parse(data);
function maxValue(jsonFileArr, prop) { // Searches for the biggest numbers in DB.json
var max = "";
for (var i = 0; i < jsonFileArr.length ; i++) {
if (!max || parseInt(jsonFileArr[i][prop]) > parseInt(max[prop]))
max = jsonFileArr[i];
}
return max;
}
var maxID = maxValue(jsonFileArr, "id"); //Biggest ID
console.log("\r\nBiggest ID : " + maxID.id);
newID = ++maxID.id;
var updateData = {
id : newID, // new ID
name: POST.name, // Objects that come from POST request when i add new row in the table
alter: POST.alter,
produkt: POST.produkt,
anzahl: POST.anzahl
}
jsonFileArr.push(updateData);
var newUsers = JSON.stringify(jsonFileArr);
fs.writeFile("JSON/DB.json", newUsers, "utf8");
console.log("New user has been added with ID : " + newID);
Итак, ваше намерение состоит в том, чтобы получить следующий самый высокий идентификатор из JSON? – Iceman