当我添加 $in 运算符以更新节点 mongodb 应用程序中的数据时,日期不会更新

Date doesnt update when I add $inc operator to update data in node, mongodb application

附加到数据的日期不是 update/show 数据更新的当前日期。

我试过了,但只更新了数据

findByIdAndUpdate(req.params.id,
 {$inc: {quantity: req.body.quantity, sold: req.body.sold}},
 {$set: {created_at: new Date()}},
 (callback)=>{})
});

当我尝试将日期代码放在 $inc 运算符代码之前时,即 -

findByIdAndUpdate(req.params.id,
 {$set: {created_at: new Date()}},
 {$inc: {quantity: req.body.quantity, sold: req.body.sold}},
 (callback)=>{})`

它 works/show 更新了时间,但 $inc 代码不起作用。好像我只能让其中之一出现在更新路线中,我需要两者都工作

这是代码

router.put('/stocks/:id', (req, res)=>{
Stocks.findByIdAndUpdate(req.params.id,
 {$inc: {quantity: req.body.quantity, sold: req.body.sold}},
 {$set: {created_at: new Date()}},

 (err, updatedStock)=>{
    if(err){
        res.redirect('/stocks');
    }
    else{
        res.redirect('/stocks'); // + req.params.id
    }
})
});

我希望数据连同日期和时间一起更新

猫鼬中的第三个参数Model.findByIdAndUpdate()用于选项

您需要将调用修改为如下所示:

router.put('/stocks/:id', (req, res)=>{
Stocks.findByIdAndUpdate(req.params.id,
 {
   $inc: {quantity: req.body.quantity, sold: req.body.sold},
   $set: {created_at: new Date()}
 },

 (err, updatedStock)=>{
    if(err){
        res.redirect('/stocks');
    }
    else{
        res.redirect('/stocks'); // + req.params.id
    }
})
});

希望这对您有所帮助:)