簡體   English   中英

我如何將 js 注冊保存到我的 json 文件

[英]How I can take/save a js signup to my json file

嘿,我想問一個問題,如何將我的數據保存在 json 文件中,我想查看我的用戶的密碼和用戶名,我嘗試添加但我的 json 文件僅保存 1 個用戶數據,我想添加一個所有用戶。

js

  var newusername = req.body.newusername;
  newpassword = req.body.newpassword;
  letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
  cap_letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
  numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
  allchars = letters + cap_letters + numbers + ['_'];
  goodusername = true;
  for(let i of newusername){
    if(!allchars.includes(i)){
      goodusername = false;
    }
  }
  if(goodusername){
    db.list().then(keys => {
      if(keys.includes(newusername)){
        res.send("Username taken. ");
      } else if(newusername == ""){
        res.send("Please enter a username.");
      } else if(newpassword == ""){
        res.send("Please enter a password.")
      } else{
        db.set(newusername, newpassword).then(() => console.log(`New Account Created Username : ${newusername} || Pass : ${newpassword}`));
//////////////////////////////////// json code ///////////////////////////////////////
        fs.writeFile('account.json', newusername, finished);
        function finished(err){
          console.log('all set.')
        }
/////////////////////////////////////////////////////////////////////////////////////
        res.cookie("loggedIn", "true")
        res.cookie("username", newusername);
        res.redirect("/");
      }
    });
  } else{
    res.send("Username can only contain alphanumeric characters and underscores.")
  }
});```

問題是每次調用writeFile時,文件之前的內容都會被刪除。

您要查找的 function 是fs.appendFile

// Overwrite file contents
fs.writeFile('account.json', newusername, finished);

// Add to file contents
fs.appendFile('account.json', newusername, finished);

編輯:獎金提示

這是設置字符和數字 arrays 的好方法。 本例中的小寫字母:

const alphabet = [...'abcdefghijklmnopqrstuvwxyz'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM