挿入操作を実行すると、JSONファイルに次に大きいIDを追加しようとしています。事は、例えばid:13の場合、id:14の新しいオブジェクトを作成し、id:14の古いオブジェクトを書き換えた後、同じIDを持つ2つのオブジェクトがあることです。JSONファイル(NodeJS)で最大のIDを検索して最大のIDを追加します
何が間違っていましたか?
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から次に高いIDを取得するのですか? – Iceman