【问题标题】:How to create Increment and Decrement routes in Mongoose and Nodejs如何在 Mongoose 和 Nodejs 中创建增量和减量路由
【发布时间】:2019-10-20 01:06:46
【问题描述】:

我有一个包含数量字段的库存集合,我想创建两个端点,一个增加数量字段的值(按 _id),而另一个路线应该减少它。

//架构


   name : {type:String},
   description : {type:String},
   price : {type:Number},
   quantity :{ type: Number,default:0},
   supplier : {type:String},
   taxable :{type:Boolean},

},{timestamps:true});

module.exports=Inventory=mongoose.model('item',ItemSchema,'inventory');

增量路线

router.post('/counter/:id', function (req, res) {
    var id = req.body.id;
Inventory.findOneAndUpdate({_id :id}, {$inc : {'quantity' : 1}}).exec((err, results) => 
{ if (err) throw err; res.json(results); })
});

递减路线

router.post('/counter/:id', function (req, res) {
    var id = req.body.id;
Inventory.findOneAndUpdate({_id :id}, {$inc : {'quantity' : -1}}).exec((err, results) => 
{ if (err) throw err; res.json(results); })
});

当我使用 Postman 测试路由时,我收到 200K 响应,但数量字段值没有发生任何变化,它既不增加也不减少

【问题讨论】:

    标签: node.js reactjs mongoose


    【解决方案1】:
    Please use following code for increment and Decrement quantity
    var mongoose = require('mongoose');
    
    Increment : 
    Inventory.findOneAndUpdate({_id :mongoose.Types.ObjectId(id)}, { $inc: { quantity : 1 }},{ new: true }).then((results) => { console.log(results)});
    
    Decrement : 
    Inventory.findOneAndUpdate({_id :mongoose.Types.ObjectId(id)}, { $inc: { quantity : -1 }},{ new: true }).then((results) => { console.log(results)});
    

    【讨论】:

    • 仍然收到 200K 响应,数量字段值没有变化
    • Inventory.update({_id :mongoose.Types.ObjectId(id)}, { $inc: { 'quantity' : -1 }}).then((results) => { console.日志(结果)});请使用该代码
    猜你喜欢
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2019-06-01
    相关资源
    最近更新 更多