我在Node.js中使用MongoDB数据库。我试图将findAndModify与来自ejs页面的用户数据结合使用。
这是我的ejs代码:
<div data-role="main" class="ui-content">
<a href="#modPop" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left">Modify Item</a>
<div data-role="popup" id="modPop" class="ui-content" style="min-width:250px;">
<form action="/modify" method="POST">
Item <input type="text" placeholder="item" name="item"><br>
Quantity <input type="number" name="quantity"><br>
Date <input type="date" name="date"><br>
<button type="submit">Submit</button>
</form>
</div>
</div>
这是我在server.js中的链接代码:
app.post('/modify', (req, res) => {
console.log('got Post request');
console.log(req.body);
db.collection('Inventory').findAndModify(
{_item: req.body.item} ,
[],
{ $inc: {_quantity: Number(req.body.quantity)}, $set: {_date: req.body.date}},
{new: true},
(err, result) => {
if (err) {
return console.log(err);
}
console.log('saved to database');
res.redirect('/shiftleader');
})
});
每当我对此进行测试时,更新都不会处理。我没有收到错误,我的终端输出看起来正常,但它只是没有更新数据库。