【发布时间】:2021-11-30 19:14:13
【问题描述】:
我正在尝试在名为 db.json 的现有 json 文件中添加新数据,我使用该文件在本地存储数据,也就是 inMemory。所以我尝试了很多方法来实现这一点,但仍然没有按预期工作因为添加操作替换了现有数据。
例如我想要这样的东西:
{
"users": [,
{
"email": "johnDoe@gmail.com",
"password": "blabala",
"firstname": "John",
"lastname": "Doe",
"address": "4 rue gay lussac",
"city": "Paris",
},
{
"email": "new email",
"password": "new password",
"firstname": "new firstname",
"lastname": "new lastname",
"address": "new address",
"city": "new city",
}
],
}
我目前正在使用来自fs 库的writeFileSync() 方法在nodejs 中工作。
我的 index.js 看起来像这样:
server.post("/register", (req, res) => {
const {firstname, lastname, email, password,address, city} = req.body
if(firstname && lastname && email && password && address && city) {
try {
fs.readFile("db.json")
fs.writeFileSync(path.join(__dirname, "db.json"),JSON.stringify(req.body), {encoding: "utf-8"})
res.status(201).send({
message: "User created!"
})
} catch (error) {
res.status(500).send({
code: error.code,
message: error.message
})
}
}else{
res.status(500).send({
message: "Something wrong"
})
}
})
需要一些建议。谢谢!!
【问题讨论】:
标签: node.js json fs in-memory storing-data