如何从EJS模板添加/减去数据

时间:2018-03-24 16:21:09

标签: node.js mongoose

我无法弄清楚如何从EJS模板中减去数据。这是我的架构:

var mongoose = require("mongoose");
var Schema = mongoose.Schema;

var InventorySchema = Schema({
    name: [{type: String, required: true, unique: true}],
    quantity: [Number],
    code: [String],
    price: [Number],
    stock: [{type: Boolean, default: true}]
})

var Inventory = mongoose.model("Inventory", InventorySchema);

module.exports = Inventory;

以下是显示我所有数据的主要查询:

router.get("/", (req, res)=>{
    InventoryModel.find({})
    .then((inventory)=>{
        console.log(inventory);
        res.render("inventory/index", {inventory: inventory})
    })
    .catch((err)=>{
        console.log(err);
    })
})

以下是我想要添加/减去数据的表格:

<div class="container">
    <form action="/inventory" method="POST">
    <label>Name</label>
    <input type="text" name="itemName" placeholder="item name"><p/>
    <label>Quantity</label>
    <input type="number" name="quantity" placeholder="quantity"><p/>
    <button>Create</button>
    </form>
</div>

所以这就是我想要完成的事情。无论我在数量字段中输入什么数字,每当我点击创建按钮(这是一个POST)时,从我的mongodb数据库中减去该数据

任何帮助?

谢谢

1 个答案:

答案 0 :(得分:1)

您需要对现有文档进行更新并使用$inc运算符。

Example:
# create query conditions and update variables
const conditions = { },
    update = { $inc: { views: 1 }}; # inc accepts negative numbers

# update documents matching condition
Model.update(conditions, update)