sql >> Databáze >  >> NoSQL >> MongoDB

Provedení aktualizace na cestě '_id' by změnilo neměnné pole '_id'

Zdá se, že potřebujete aktualizovat pouze jeden Inventory záznam. Můžete to udělat jednoduše:

app.put("/api/inventory/:sku", (req, res, next) => {
  return Inventory.updateOne(
    { sku: req.params.sku },  // <-- find stage
    { $set: {                // <-- set stage
       id: req.body.id,     // <-- id not _id
       sku: req.body.sku,
       total_qty: req.body.total_qty,
       current_qty: req.body.current_qty
      } 
    }   
  ).then(result => {
    res.status(200).json({ message: "Update successful!" });
  });
});

Není třeba vytvářet nový Inventory atd., protože vše, co potřebujete, je aktualizovat existující na základě sku

Zde je další dokumentace k updateOne



  1. Redis aktivní-aktivní replikace

  2. Jarní stránka dat mongo

  3. Vytváření testovacích dat pro MongoDB

  4. Uložení souboru do MongoDB pomocí Multer v Mongoose