MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Effectuer une mise à jour sur le chemin '_id' modifierait le champ immuable '_id'

Il semble que vous n'ayez besoin de mettre à jour qu'un seul Inventory enregistrement. Vous pouvez simplement faire ceci :

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!" });
  });
});

Il n'est pas nécessaire de créer un nouvel Inventory etc puisque tout ce dont vous avez besoin est de mettre à jour un existant basé sur sku

Voici plus de documentation sur updateOne