我正在尝试使用 NODE(Express 和 Sequelize)创建更新路线。
我在尝试为我的数据库制作更新项目时遇到问题。
我正在尝试这样做:
app.put('/updateitem/:id', async(req, res)=>{
const itemId = req.params.id;
const resultado = await item.replaceOne({_id: itemId}, req.body)
console.log(resultado)
Item.update({
Codigo: req.body.Codigo,
Descricao: req.body.Descricao,
Quantidade: req.body.Quantidade,
Preco: req.body.Preco,
Pcompra: req.body.Pcompra,
Lucroliq: req.body.Preco - req.body.Pcompra,
Lucro: (((req.body.Preco - req.body.Pcompra) / req.body.Pcompra) * 100).toFixed(2),},
{where: {'id': req.params.id}})})
我也在使用 Handlebars,我认为它没有以正确的方式处理 url 中的项目 id。
<form action="/updateitem:id" method="PUT">
<p>Código</p>
<input type="text" value="{{item.Codigo}}" name="Codigo" placeholder="Codigo do Produto"> <br><br><br>
<p>Descrição</p>
<input type="text" value="{{item.Descricao}}" name="Descricao" placeholder="Descricao do Produto"> <br><br><br>
<p>Quantidade</p>
<input type="text" value="{{item.Quantidade}}" name="Quantidade" placeholder="Quantidade de itens"> <br><br><br>
<p>Preço</p>
<input type="text" value="{{item.Preco}}" name="Preco" placeholder="Preço do Produto"><br><br><br>
<p>Preço de Compra</p>
<input type="text" value="{{item.Pcompra}}" name="Pcompra" placeholder="Preço de Compra"> <br><br><br>
<input type="submit" value="Enviar">
</form>
我还尝试使用
<form action="/updateitem:{{id}}" method="PUT">
和 <form action="/updateitem:{{item.id}}" method="PUT">
但它们都不起作用(可能是因为 put 路线)。
<form action="/updateitem/{{item.id}}" method="PUT">