sql >> Database teknologi >  >> NoSQL >> MongoDB

Udførelse af en opdatering på stien '_id' vil ændre det uforanderlige felt '_id'

Det ser ud til, at du kun behøver at opdatere én Inventory optage. Du kan blot gøre dette:

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

Der er ingen grund til at oprette ny Inventory osv., da alt du behøver er at opdatere en eksisterende baseret på sku

Her er mere dokumentation om updateOne



  1. Få en bestemt del af dokumentet

  2. Hvordan normalisere/reducere tidsdata i mongoDB?

  3. krydstabel-forespørgsel eller virtuals for at gemme data ved hjælp af mongoose

  4. Mongoose QueryStream nye resultater